Привет,
так уж получилось что нету кода EAN В этих структурах. Может это сделано потому, что он тянется из ОЗМ, а может и по другому это вопрос к замыслу разработчика.
В любом случае, как уже тут говорилось, правда на ветке посвященной ABAP, такие вопросы (запись в EAN, да и в любое пользовательское поле) осуществляется следующим методом.
1. Добавляете к таблицам EKKO, EKPO и т.д через append структуру свое поле (у нас оно уже имеется в наличии EKPO-EAN11)
2. Добавляете в структуру bapi_te_mepoitem поле с тем же именем и тем же типом что и требуется (в нашем случае EAN11),
добавляете в структуру bapi_te_mepoitemx поле с аналогичным названием, но с типом CHAR(1) или какой-там у типа флаг (не важно домен должен быть просто похожим).
3. После чего пишете в программе, что-то похожее на
DATA: extensionin LIKE bapiparex OCCURS 0 WITH HEADER LINE.
DATA:
wa_extensionin TYPE bapiparex,
wa_bapi_te_mepoitem TYPE bapi_te_mepoitem,
wa_bapi_te_mepoitemx TYPE bapi_te_mepoitemx.
* Это сам код
wa_bapi_te_mepoitem-po_item = posit. " Номер позиции в PO
wa_bapi_te_mepoitem-ean11 = '22052006'. "Код который мы хотим записать в поле EAN11
MOVE: 'BAPI_TE_MEPOITEM' TO wa_extensionin-structure,
wa_bapi_te_mepoitem TO wa_extensionin-valuepart1.
APPEND wa_extensionin TO extensionin.
wa_bapi_te_mepoitemx-po_item = posit.
wa_bapi_te_mepoitemx-ean11 = 'X'.
MOVE: 'BAPI_TE_MEPOITEMX' TO wa_extensionin-structure,
wa_bapi_te_mepoitemx TO wa_extensionin-valuepart1.
APPEND wa_extensionin TO extensionin.
4. И передаете при создании заказа на поставку посредством BAPI_PO_CREATE1 таблицу extention. Типо того
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = poheader
poheaderx = poheaderx
testrun = ''
IMPORTING
exppurchaseorder = exppurchaseorder
TABLES
return = return
poitem = poitem
poitemx = poitemx
poschedule = poschedule
poschedulex = poschedulex
pocond = pocond
pocondx = pocond.
extensionin = extensionin.
Все остальные таблички я думаю ты сама сможешь заполнить
