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

 

posted @ 2019-07-24 16:39  水龙  阅读(1555)  评论(0编辑  收藏  举报