Расширение структур 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.



Комментариев нет:
Отправить комментарий