剛開始接觸SAP了,感覺很陌生,清一色的TCode,不過里面的功能確實強大,不得不佩服啊,之前我一直是搞WinForm和WebForm的,現在能夠接觸到SAP那我還是想多學習一下,看了一下ABAP的語法,覺得只要能夠自己試着寫幾個程序來練習一下的話應該不是很難,所以我決定通過C#去連接到SAP,然后去調用里面的RFC來實現一些功能,這樣既可以了解.NET和SAP互相通信的知識,又可以在SAP里面編寫ABAP的程序,下面看看連接SAP的代碼,其實很簡單:
1 //首先的引用下面三個文件 2 //這幾個文件的DLL在C:\Program Files\SAP\FrontEnd\SAPgui 3 //具體需要看安裝目錄 4 using SAPFunctionsOCX; 5 using SAPLogonCtrl; 6 using SAPTableFactoryCtrl; 7 8 private void btnLogin_Click(object sender, EventArgs e) 9 { 10 //實例化一個SAPControl類的實例。 11 SAPLogonCtrl.SAPLogonControlClass Login = new SAPLogonCtrl.SAPLogonControlClass(); 12 //指定連接SAP的各項參數。 13 Login.User = this.txtUser.Text.Trim(); 14 Login.Password = this.txtUserPwd.Text.Trim(); 15 Login.Client = this.txtClient.Text.Trim(); 16 Login.Language = this.txtLanguage.Text.Trim().ToUpper(); 17 Login.ApplicationServer = this.txtIP.Text.Trim(); 18 Login.SystemNumber = Convert.ToInt32(this.txtSystemNumber.Text.Trim()); 19 //New一個連接對象去連接SAP 20 SAPLogonCtrl.Connection Conn = (SAPLogonCtrl.Connection)Login.NewConnection(); 21 //調用Login方法檢測是否可以正確登錄。 22 if (Conn.Logon(null, true)) 23 { 24 MessageBox.Show("連接SAP成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); 25 Conn.Logoff(); 26 } 27 else 28 { 29 MessageBox.Show("連接SAP失敗", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); 30 } 31 32 }
現在正在摸索如何調用SAP里面的函數,比如說SAP里面的一個函數查詢了某一張表的數據,然后我在C#里面調用這個函數然后將這些數據Show出來,希望有這方面興趣的朋友互相研究一下。