Estoy creando un sistema para integrar con SAP.Integración con SAP
El cliente me dio la función y los parámetros, según él, esta función generalmente se realizaba en SAP pero en mi código cuando trato de recuperar el parámetro, me devuelve nulo.
Aquí mi código
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");
Buscando por internet encontré varios ejemplos similares a la mía, here, here y here!
Por qué el método. get_Exports ("MATNR"); devuelve nulo?
se trata de un módulo de función estándar? No puedo verlo en el código. La lista de parámetros de exportación podría ser nula, tal vez haya parámetros de tabla que deba verificar en su lugar. –
functionName, tableName son variables que contienen el nombre de la función y el nombre de la tabla, respectivamente. Los parámetros de tabla no se pueden recuperar, hay un método get_Exports y función. (Vea ejemplos en [aquí] (http://forums.sdn.sap.com/thread.jspa?threadID=1425169), [aquí] (http://sunhongwei2002.blog.163.com/blog/static/149007012201062165717737 /) y [aquí] (http://blog.csdn.net/robaot/archive/2009/10/20/4704127.aspx) – ridermansb
No creo que el ejemplo 3 sea correcto. Normalmente se asignan parámetros de importación y no se exportan los parámetros. –