DotNet C#使用NCO3.0远程调用SAP中的RFC

主页 » SAP文库 » ABAP

作者 无影 2018-03-08    889

C#如何通过NCO3.0来连接SAP并调用SAP中的RFC
首先安装NCO3.0,这是SAP针对.Net开发的专用组件,安装完成之后在C:\Program Files\SAP\SAP_DotNetConnector3_x86目录下面会有sapnco_utils.dll sapnco.dll rscp4n.dll libicudecnumber.dll四个DLL文件,在项目里面添加引用,找到这个4个DLL文件,引用到项目里面,libicudecnumber.dll会提示无法引用,貌似要将项目的.NET目标平台改为4.0的才可以,这里我没有亲测。
下面开始编程了:


 1 using SAP.Middleware.Connector; 5 public void GetSapData() 
 6         { 7             RfcConfigParameters rfcPar = new RfcConfigParameters(); 8             rfcPar.Add(RfcConfigParameters.Name, "CON"); 9             rfcPar.Add(RfcConfigParameters.AppServerHost, "IP");10             rfcPar.Add(RfcConfigParameters.Client, "800");11             rfcPar.Add(RfcConfigParameters.User, "UserID");12             rfcPar.Add(RfcConfigParameters.Password, "Password");13             rfcPar.Add(RfcConfigParameters.SystemNumber, "02");14             rfcPar.Add(RfcConfigParameters.Language, "EN");         
15             RfcDestination dest = RfcDestinationManager.GetDestination(rfcPar);16             RfcRepository rfcrep = dest.Repository;17             IRfcFunction myfun = null;18             myfun = rfcrep.CreateFunction("SAP里面的函数名称");19             myfun.SetValue("VTYPE", "0");//SAP里面的传入参数20             myfun.Invoke(dest);21             IRfcTable IrfTable = myfun.GetTable("IT_ZMYTB2");22             //提前实例化一个空的表结构出来23             DataTable dt = new DataTable();24             dt.Columns.Add("USERID");25             dt.Columns.Add("USERPWD");26             dt.Columns.Add("USERADDRESS");27             //循环把IRfcTable里面的数据放入Table里面,因为类型不同,不可直接使用。28             for (int i = 0; i < IrfTable.Count; i++)29             {30                 IrfTable.CurrentIndex = i;31                 DataRow dr = dt.NewRow();32                 dr["USERID"] = IrfTable.GetString("USERID");33                 dr["USERPWD"] = IrfTable.GetString("USERPWD");34                 dr["USERADDRESS"] = IrfTable.GetString("USERADDRESS");35                 dt.Rows.Add(dr);36             }37             //将重新生成的Table赋值给数据控件DataGridView。38             dgv.DataSource = dt;39         }


本文原始地址:http://51itbooks.com/sap/theme/107.html

转载请注明出处来自 IT文库

上一篇

AA固定资产|概述

下一篇

SAP 史上最牛smartf​orms讲解大全