刚开始接触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出来,希望有这方面兴趣的朋友互相研究一下。