data:lt_poheader like table of bapimepoheader with header line,
lt_poheaderx like table of bapimepoheaderx with header line,
lt_poitem like table of bapimepoitem with header line,
lt_poitemx like table of bapimepoitemx with header line,
lt_poschedule like table of bapimeposchedule with header line,
lt_poschedulx like table of bapimeposchedulx with header line,
l_exppurchaseorder like bapimepoheader-po_number,
lt_return like table of bapiret2 with header line.
lt_poheader-comp_code = '1000'.
lt_poheader-doc_type = 'NB'.
lt_poheader-creat_date = sy-datum.
lt_poheader-vendor = '0000040000'.
lt_poheader-langu = sy-langu.
lt_poheader-purch_org = '1000'.
lt_poheader-pur_group = '002'.
lt_poheader-doc_date = sy-datum.
lt_poheaderx-comp_code = 'X'.
lt_poheaderx-doc_type = 'X'.
lt_poheaderx-creat_date = 'X'.
lt_poheaderx-vendor = 'X'.
lt_poheaderx-langu = 'X'.
lt_poheaderx-purch_org = 'X'.
lt_poheaderx-pur_group = 'X'.
lt_poheaderx-doc_date = 'X'.
clear lt_poitem.
lt_poitem-po_item = '0010'.
lt_poitem-material = 'BB88888842'.
lt_poitem-plant = 'A100'.
lt_poitem-stge_loc = '3005'.
lt_poitem-quantity = '1'.
lt_poitem-ret_item = 'X'.
append lt_poitem.
clear lt_poitemx.
lt_poitemx-po_item = lt_poitem-po_item.
lt_poitemx-material = 'X'.
lt_poitemx-plant = 'X'.
lt_poitemx-stge_loc = 'X'.
lt_poitemx-quantity = 'X'.
lt_poitemx-ret_item = 'X'.
append lt_poitemx.
clear lt_poschedule.
lt_poschedule-po_item = '0010'.
lt_poschedule-sched_line = '0001'.
lt_poschedule-del_datcat_ext = 'D'.
lt_poschedule-delivery_date = sy-datum.
lt_poschedule-quantity = '1'.
append lt_poschedule.
clear lt_poschedulx.
lt_poschedulx-po_item = lt_poschedule-po_item.
lt_poschedulx-sched_line = 'X'.
lt_poschedulx-del_datcat_ext = 'X'.
lt_poschedulx-delivery_date = 'X'.
lt_poschedulx-quantity = 'X'.
append lt_poschedulx.
call function 'BAPI_PO_CREATE1'
EXPORTING
poheader = lt_poheader
poheaderx = lt_poheaderx
IMPORTING
exppurchaseorder = l_exppurchaseorder
TABLES
poitem = lt_poitem
poitemx = lt_poitemx
poschedule = lt_poschedule
poschedulex = lt_poschedulx
return = lt_return.
read table lt_return with key type = 'E'.
if sy-subrc <> 0.
call function 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
endif.
write:/ l_exppurchaseorder.
loop at lt_return.
write:/ lt_return-message.
endloop.
lt_poheaderx like table of bapimepoheaderx with header line,
lt_poitem like table of bapimepoitem with header line,
lt_poitemx like table of bapimepoitemx with header line,
lt_poschedule like table of bapimeposchedule with header line,
lt_poschedulx like table of bapimeposchedulx with header line,
l_exppurchaseorder like bapimepoheader-po_number,
lt_return like table of bapiret2 with header line.
lt_poheader-comp_code = '1000'.
lt_poheader-doc_type = 'NB'.
lt_poheader-creat_date = sy-datum.
lt_poheader-vendor = '0000040000'.
lt_poheader-langu = sy-langu.
lt_poheader-purch_org = '1000'.
lt_poheader-pur_group = '002'.
lt_poheader-doc_date = sy-datum.
lt_poheaderx-comp_code = 'X'.
lt_poheaderx-doc_type = 'X'.
lt_poheaderx-creat_date = 'X'.
lt_poheaderx-vendor = 'X'.
lt_poheaderx-langu = 'X'.
lt_poheaderx-purch_org = 'X'.
lt_poheaderx-pur_group = 'X'.
lt_poheaderx-doc_date = 'X'.
clear lt_poitem.
lt_poitem-po_item = '0010'.
lt_poitem-material = 'BB88888842'.
lt_poitem-plant = 'A100'.
lt_poitem-stge_loc = '3005'.
lt_poitem-quantity = '1'.
lt_poitem-ret_item = 'X'.
append lt_poitem.
clear lt_poitemx.
lt_poitemx-po_item = lt_poitem-po_item.
lt_poitemx-material = 'X'.
lt_poitemx-plant = 'X'.
lt_poitemx-stge_loc = 'X'.
lt_poitemx-quantity = 'X'.
lt_poitemx-ret_item = 'X'.
append lt_poitemx.
clear lt_poschedule.
lt_poschedule-po_item = '0010'.
lt_poschedule-sched_line = '0001'.
lt_poschedule-del_datcat_ext = 'D'.
lt_poschedule-delivery_date = sy-datum.
lt_poschedule-quantity = '1'.
append lt_poschedule.
clear lt_poschedulx.
lt_poschedulx-po_item = lt_poschedule-po_item.
lt_poschedulx-sched_line = 'X'.
lt_poschedulx-del_datcat_ext = 'X'.
lt_poschedulx-delivery_date = 'X'.
lt_poschedulx-quantity = 'X'.
append lt_poschedulx.
call function 'BAPI_PO_CREATE1'
EXPORTING
poheader = lt_poheader
poheaderx = lt_poheaderx
IMPORTING
exppurchaseorder = l_exppurchaseorder
TABLES
poitem = lt_poitem
poitemx = lt_poitemx
poschedule = lt_poschedule
poschedulex = lt_poschedulx
return = lt_return.
read table lt_return with key type = 'E'.
if sy-subrc <> 0.
call function 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
endif.
write:/ l_exppurchaseorder.
loop at lt_return.
write:/ lt_return-message.
endloop.
这段代码演示了如何使用BAPI_PO_CREATE1函数创建SAP采购订单,包括设置采购订单头信息、物品信息和日程安排,并处理返回信息。
2326

被折叠的 条评论
为什么被折叠?



