【发布时间】:2011-07-06 12:43:44
【问题描述】:
我正在创建一个与 SAP 集成的系统。
客户给了我函数和参数,据他说,这个函数通常是在 SAP 中执行的,但是在我的代码中,当我尝试检索参数时,它返回给我 null。
这是我的代码
SAPFunctionsOCX.SAPFunctionsClass func = new SAPFunctionsOCX.SAPFunctionsClass();
func.Connection = connection;
SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add(functionName);
SAPTableFactoryCtrl.Tables tables = (SAPTableFactoryCtrl.Tables)ifunc.Tables;
SAPTableFactoryCtrl.Table objTable = (SAPTableFactoryCtrl.Table)tables[tableName];
//Paramters (Find one column "MATNR"
SAPTableFactoryCtrl.Columns cols2 = (SAPTableFactoryCtrl.Columns)objTable.Columns;
for (int i = 1; i <= cols2.Count; i++)
{
SAPTableFactoryCtrl.Column col = (SAPTableFactoryCtrl.Column)cols2[i];
Console.WriteLine(col.Name);
}
//Error here! matnr == null
SAPFunctionsOCX.IParameter matnr = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("MATNR");
在网上搜索了几个和我类似的例子, here、here 和 here!
为什么采用这种方法。 get_Exports("MATNR");返回 null?
【问题讨论】:
-
这是标准功能模块吗?我在代码中看不到它。导出参数列表可能为空,可能需要检查表参数。
-
我认为示例 3 不正确。通常您分配导入参数而不是导出参数。
-
其实我也试过get_Imports的方法,但他也返回null
标签: c# parameters null integration sap