Jam*_*nxD 3 c# sap abap sap-connector saprfc
在使用SAP .NET连接器的C#程序中,我想调用RFC函数“ BAPI_GET_PAYROLL_RESULT_LIST”并读取结果。
我用看了函数SE37
。在那里,我发现导出参数应为BAPIRETURN1
,这是一个结构。
因此,我搜索了RFC调用的示例代码,并针对我的情况对其进行了修改。
我已经尝试读取该表BAPI7004_RL
,因为该表位于信息中,SE37
并且我不知道是否必须使用export参数或该表。
这是我的代码:
string appServerHost = ConfigurationManager.AppSettings["AppServerHost"];
string name = ConfigurationManager.AppSettings["Name"];
string systemnumber = ConfigurationManager.AppSettings["SystemNumber"];
string user = ConfigurationManager.AppSettings["User"];
string pw = ConfigurationManager.AppSettings["Password"];
string client = ConfigurationManager.AppSettings["Client"];
string language = ConfigurationManager.AppSettings["Language"];
RfcConfigParameters parms = new RfcConfigParameters
{
{ RfcConfigParameters.AppServerHost, appServerHost },
{ RfcConfigParameters.Name, name },
{ RfcConfigParameters.SystemNumber, systemnumber },
{ RfcConfigParameters.User, user },
{ RfcConfigParameters.Password, pw },
{ RfcConfigParameters.Client, client },
{ RfcConfigParameters.Language, language }
};
RfcDestination dest = RfcDestinationManager.GetDestination(parms);
RfcRepository repo = dest.Repository;
IRfcFunction fnc = dest.Repository.CreateFunction("BAPI_GET_PAYROLL_RESULT_LIST");
fnc.SetValue("employeenumber", "0001");
fnc.Invoke(dest);
RfcStructureMetadata TableMetaData = dest.Repository.GetStructureMetadata("BAPIRETURN1");
IRfcStructure stru = fnc.GetStructure("BAPIRETURN1"); //BAPI7004_RL
//IRfcTable tabDetail = fnc.GetTable("BAPI7004_RL"); //BAPIRETURN1
Run Code Online (Sandbox Code Playgroud)
在该行之后,IRfcStructure stru = fnc.GetStructure("BAPIRETURN1")
在运行时引发异常,该异常表示:
容器BAPI_GET_PAYROLL_RESULT_LIST的元素BAPIRETURN1未知
当我在表上尝试时,得到相同的结果。
我的代码中的错误在哪里?还是可能是权限问题?
归档时间: |
|
查看次数: |
253 次 |
最近记录: |