
C#如何通过NCO3.0来连接SAP并调用SAP中的RFC
1个回答
展开全部
下面开始编程了:usingSAP.Middleware.Connector;publicvoidGetSapData(){RfcConfigParameters rfcPar=newRfcConfigParameters();
rfcPar.Add(RfcConfigParameters.Name,"CON");rfcPar.Add(RfcConfigParameters.AppServerHost,"IP");rfcPar.Add(RfcConfigParameters.Client,"800");rfcPar.Add(RfcConfigParameters.User,"UserID");rfcPar.Add(RfcConfigParameters.Password,"Password");rfcPar.Add(RfcConfigParameters.SystemNumber,"02");rfcPar.Add(RfcConfigParameters.Language,"EN");RfcDestination dest=RfcDestinationManager.GetDestination(rfcPar);
RfcRepository rfcrep=dest.Repository;
IRfcFunction myfun=null;myfun= rfcrep.CreateFunction("SAP里面的函数名称");myfun.SetValue("VTYPE","0");//SAP里面的传入参数
myfun.Invoke(dest);
IRfcTable IrfTable
= myfun.GetTable("IT_ZMYTB2");//提前实例化一个空的表结构出来
DataTable dt =newDataTable();
dt.Columns.Add("USERID");dt.Columns.Add("USERPWD");dt.Columns.Add("USERADDRESS");//循环把IRfcTable里面的数据放入Table里面,因为类型不同,不可直接使用。
rfcPar.Add(RfcConfigParameters.Name,"CON");rfcPar.Add(RfcConfigParameters.AppServerHost,"IP");rfcPar.Add(RfcConfigParameters.Client,"800");rfcPar.Add(RfcConfigParameters.User,"UserID");rfcPar.Add(RfcConfigParameters.Password,"Password");rfcPar.Add(RfcConfigParameters.SystemNumber,"02");rfcPar.Add(RfcConfigParameters.Language,"EN");RfcDestination dest=RfcDestinationManager.GetDestination(rfcPar);
RfcRepository rfcrep=dest.Repository;
IRfcFunction myfun=null;myfun= rfcrep.CreateFunction("SAP里面的函数名称");myfun.SetValue("VTYPE","0");//SAP里面的传入参数
myfun.Invoke(dest);
IRfcTable IrfTable
= myfun.GetTable("IT_ZMYTB2");//提前实例化一个空的表结构出来
DataTable dt =newDataTable();
dt.Columns.Add("USERID");dt.Columns.Add("USERPWD");dt.Columns.Add("USERADDRESS");//循环把IRfcTable里面的数据放入Table里面,因为类型不同,不可直接使用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询