c#通过RFC调用SAP接口程序之输入输出参数案例
第一步需要引入相应的dll,如果版本不一致,会出现引用不成功。我用的是 net4.0
第二步 using SAP.Middleware.Connector;
第三步 :编码如下
#region // ERP交互设计开始 kele IDestinationConfiguration ID = new RfcConfig(); RfcDestinationManager.RegisterDestinationConfiguration(ID); //告诉 RFC管理器 注册目的地配置 RfcDestination prd = RfcDestinationManager.GetDestination("PRD_000");// 获得目的对象 // RfcDestinationManager.UnregisterDestinationConfiguration(ID); //注销RFC管理器目的地配置 NET2.0 需要取消注释 RfcRepository repo = prd.Repository; IRfcFunction companyBapi = repo.CreateFunction("ZMM_ABC_GET_ZTERM"); //调用函数名 try { companyBapi.SetValue("I_LIFNR", "" + TextBox1.Text.Trim() + ""); //SAP输入参数 companyBapi.Invoke(prd); //执行函数 Label1.Text = companyBapi.GetString("TEXT1"); //SAP输出参数 } catch (RfcAbapException ex) //此Exception专门用于获取用户自定义的异常信息!!!! { JavaScript.Alert(companyBapi.Metadata.GetAbapException(ex.Key).Documentation); } catch (RfcAbapRuntimeException ex) //此Exception专门用于获取RFC执行过程中的运行时异常!!!! { JavaScript.Alert(companyBapi.Metadata.GetAbapException(ex.Key).Documentation); } catch (RfcBaseException ex) //此Exception是总Exception类,可以获取所有的异常,如果有多个Catch,则不可以放第一位!!!! { JavaScript.Alert("请购单单号不存在或者SAP数据库连接出错!信息如下:" + ex.Message); } //ERP交互设计结束 #endregion
你的一分支持,是我坚持创作的十分动力。
如果文章的内容对你有帮助的话,请用微信扫描下方二维码,支持一下。谢谢!