Расширение структур MARA, BAPI_TE_MARA, BAPI_TE_MARAX и пример использования BAPI BAPI_MATERIAL_SAVEDATA.
Расширение MARA
Добавляем append-структуру в таблицу MARA.
Также необходимо выполнить присвоение полей группам выбора полей (путь по меню тр. SPRO: Общая логистика » Основные записи материалов » Выбор полей).
Расширение MARA
Добавляем append-структуру в таблицу MARA.
Вывод полей в транзакции MM01/MM02/MM03
Путь к настройке по меню тр. SPRO: Общая логистика » Основные записи материалов » Конфигурация основных записей материалов » Как это выполнить (руководство на основе примера).
Также необходимо выполнить присвоение полей группам выбора полей (путь по меню тр. SPRO: Общая логистика » Основные записи материалов » Выбор полей).
Передача пользовательских полей в BAPI_MATERIAL_SAVEDATA
Добавляем append-структуру с теми же пользовательскими полями, что и в MARA, в структуры BAPI_TE_MARA и BAPI_TE_MARAX.
Передаем в BAPI_MATERIAL_SAVEDATA таблицу EXTENSIONIN структурой BAPIPAREX и таблицу EXTENSIONINX структурой BAPIPAREXX.
DATA: ls_headdata TYPE bapimathead, ls_clientdata TYPE bapi_mara, ls_clientdatax TYPE bapi_marax, ls_plantdata TYPE bapi_marc, ls_plantdatax TYPE bapi_marcx, ls_valuationdata TYPE bapi_mbew, ls_valuationdatax TYPE bapi_mbewx, ls_salesdata TYPE bapi_mvke, ls_salesdatax TYPE bapi_mvkex, lt_materialdescription TYPE TABLE OF bapi_makt, lt_unitsofmeasure TYPE TABLE OF bapi_marm, lt_unitsofmeasurex TYPE TABLE OF bapi_marmx, lt_materiallongtext TYPE TABLE OF bapi_mltx, lt_taxclassifications TYPE TABLE OF bapi_mlan, lt_returnmessages TYPE TABLE OF bapiret2, lt_extensionin TYPE TABLE OF bapiparex, ls_extensionin LIKE LINE OF lt_extensionin, lt_extensioninx TYPE TABLE OF bapiparexx, ls_extensioninx LIKE LINE OF lt_extensioninx, ls_bapi_te_mara TYPE bapi_te_mara, ls_bapi_te_marax TYPE bapi_te_marax. CLEAR: ls_bapi_te_mara, ls_bapi_te_mara. ls_bapi_te_mara-material = lv_matnr. ls_bapi_te_mara-zzfield01 = 'A'. ls_bapi_te_mara-zzfield02 = '0123456789'. ls_extensionin-structure = 'BAPI_TE_MARA'. ls_extensionin+30 = ls_bapi_te_mara. INSERT ls_extensionin INTO TABLE lt_extensionin. ls_bapi_te_marax-material = lv_matnr. ls_bapi_te_marax-zzfield01 = abap_true. ls_bapi_te_marax-zzfield02 = abap_true. ls_extensioninx-structure = 'BAPI_TE_MARAX'. ls_extensioninx+30 = ls_bapi_te_marax. INSERT ls_extensionin INTO TABLE lt_extensionin. CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' EXPORTING headdata = ls_headdata clientdata = ls_clientdata clientdatax = ls_clientdatax plantdata = ls_plantdata plantdatax = ls_plantdatax valuationdata = ls_valuationdata valuationdatax = ls_valuationdatax salesdata = ls_salesdata salesdatax = ls_salesdatax TABLES materialdescription = lt_materialdescription unitsofmeasure = lt_unitsofmeasure unitsofmeasurex = lt_unitsofmeasurex materiallongtext = lt_materiallongtext taxclassifications = lt_taxclassifications returnmessages = lt_returnmessages extensionin = lt_extensionin extensioninx = lt_extensioninx.
Комментариев нет:
Отправить комментарий