Интеграция с SAP - PullRequest
       55

Интеграция с SAP

5 голосов
/ 01 марта 2011

Я создаю систему для интеграции с 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");

При поиске в интернете найдено несколько примеров, похожих на мои, здесь , здесь здесь !

Почему метод.get_Exports ( "MATNR");возвращает ноль?

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Каковы точные параметры, которые вам были даны для функции RFC?
В первой части вы, кажется, зацикливаетесь на имени столбца таблицы, а во второй вы ищетепараметр (т. е. отсутствует в таблице).

касается
Гийома

PS: ABAP является проприетарным языком SAP

0 голосов
/ 01 марта 2011

Я думаю, что вы забыли фактический вызов функции, по крайней мере, в примере кода

...