SAP NCo 3.0 - исключая параметры таблицы - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь прочитать детали списка задач из функции SAP "EAM_TASKLIST_GET_DETAIL", но я получаю сообщение об ошибке "Список задач A 000000001 не иерархический".

Из моего исследования проблемы Я вижу, это потому, что таблицы иерархии запрашиваются в вызове (строка 91 - 93 в исходном коде BAPI ниже)

    * Hierarchy
    IF et_hdr_hierarchy IS REQUESTED AND et_opr_hierarchy IS REQUESTED.
      lv_obj_sel_htl = abap_true.
    ENDIF.

Если я отлаживаю функцию из SAP, я могу добавить точку останова после оператора if сбросьте флаг, и он вернет данные OK.

Моя проблема в том, что я не могу понять, как не запрашивать таблицы "et_hdr_hierarchy" и "et_opr_hierarchy" из C#.

Изнутри C# Я попытался установить неактивные параметры таблицы (в соответствии с документацией, которая у меня есть, это должно работать):

    rfcFunction.SetParameterActive("ET_HDR_HIERARCHY", false);
    rfcFunction.SetParameterActive("ET_OPR_HIERARCHY", false);

Я также создал новую структуру, которая не содержат следующие таблицы:

        // Get the default function metadata
        var sourceMetaData = repo.GetFunctionMetadata("EAM_TASKLIST_GET_DETAIL");

        // Create new metadata object
        RfcFunctionMetadata metaData = new RfcFunctionMetadata("EAM_TASKLIST_GET_DETAIL");

        // Add required tables
        metaData.AddParameter(sourceMetaData["ET_HEADERS"]);
        metaData.AddParameter(sourceMetaData["ET_RETURN"]);

        // Import params
        metaData.AddParameter(sourceMetaData["IV_PLNTY"]);
        metaData.AddParameter(sourceMetaData["IV_PLNNR"]);

        // Create function from meta data
        IRfcFunction rfcFunction = metaData.CreateFunction();

        // Execute
        rfcFunction.Invoke(destination);

Но оба примера по-прежнему возвращают одну и ту же ошибку «Список задач 000000001 не иерархическая» ошибка.

Как примечание, мы должны использовать стандарт d BAPI функционирует для нашего решения, поэтому создание новой функции и изменение исходного кода не вариант.

Может кто-нибудь помочь или дать мне какое-то руководство по этому вопросу?

...