Ошибка при использовании SAP BAPI "CSAP_MAT_BOM_MAINTAIN" - PullRequest
0 голосов
/ 14 ноября 2011

Я пытаюсь использовать SAP BAPI "CSAP_MAT_BOM_MAINTAIN" для создания спецификации в SAP, но я получаю ошибку.

IFunctionTemplate ft = mRepository.getFunctionTemplate ("CSAP_MAT_BOM_MAINTAIN");System.out.println ("Создан функциональный шаблон");

    if (ft == null){return;}

    JCO.Function function = ft.getFunction();
    JCO.ParameterList importparams =function.getImportParameterList();

    //  Setting HeadData Structure Information

    //importparams.setValue("C000000609", "CHANGE_NO");
    importparams.setValue("CPF10104", "MATERIAL");
    importparams.setValue("1", "BOM_USAGE");
    importparams.setValue("0001", "PLANT");
    importparams.setValue("01", "ALTERNATIVE");
    importparams.setValue("11.11.2011", "VALID_FROM");      
    importparams.setValue("X", "FL_COMMIT_AND_WAIT");
    importparams.setValue("X", "FL_BOM_CREATE");
    importparams.setValue("X", "FL_NEW_ITEM");
    importparams.setValue("X", "FL_COMPLETE");
    importparams.setValue("X", "FL_DEFAULT_VALUES");

    JCO.Structure headStructure = importparams.getStructure("I_STKO");
    headStructure.setValue("01", "BOM_STATUS");
    headStructure.setValue("1", "BASE_QUAN");
    headStructure.setValue("KG", "BASE_UNIT");
    headStructure.setValue("BOM01", "BOM_GROUP");

    JCO.Table stpo = function.getTableParameterList().getTable("T_STPO");
    stpo.appendRow();
    stpo.setValue("BOM Position 2.1", "ITEM_TEXT1");
    stpo.setValue("L", "ITEM_CATEG");
    stpo.setValue("L", "ID_ITM_CTG");
    stpo.setValue("0010", "ITEM_NO");
    stpo.setValue("0010", "ID_ITEM_NO");
    stpo.setValue("13", "COMP_QTY");
    stpo.setValue("KG", "COMP_UNIT");
    stpo.setValue("00000001", "ITEM_NODE");
    stpo.setValue("00000001", "ITEM_COUNT");
    stpo.setValue("000000000000000000", "DEP_LINK");
    stpo.setValue("12345-R6000001", "COMPONENT");       
    //stpo.setValue("12345-R6000001", "ID_COMP");

    JCO.Table stpu = function.getTableParameterList().getTable("T_STPU");
    stpu.appendRow();
    stpu.setValue("0", "POINTER");
    stpu.setValue("00000000", "STLKN");
    stpu.setValue("0010", "STPOZ");
    stpu.setValue("0001", "UPOSZ");
    stpu.setValue("46", "UPMNG");
    stpu.setValue("T1", "EBORT");

Я получаю сообщение об ошибке:

Исключение в потоке "main" com.sap.mw.jco.JCO$ AbapException: (126) ОШИБКА: прервать обработку.

После поиска в Интернете я обнаружил, что эта ошибка возникает, когда у нас неверные входные параметры.Но я не могу найти ошибку.

Обратите внимание, что у меня ограниченные знания о программировании SAP ABAP.

Может ли кто-нибудь мне помочь?

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

Если у вас есть доступ к системе SAP, вы можете запустить транзакцию ST22, чтобы получить подробный журнал ошибок.Тем не менее, вам может потребоваться отладить ошибки в SAP согласно предложению Радж.

0 голосов
/ 14 ноября 2011

(126) ABAP EXCEPTION: функциональным модулем удаленной системы было сгенерировано исключение.

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

...