report zrpptest05 .
tables: marc,mara,ekko,ekpo.
data : p_error type c,
po_num like ekko-ebeln.
data : g_return like table of bapireturn with header line.
selection-screen begin of block blk1 with frame.
parameters: t_werks like marc-werks.
selection-screen end of block blk1.
start-of-selection.
perform. create_po_form.
*&---------------------------------------------------------------------*
*& Form create_po_form
*&---------------------------------------------------------------------*
form. create_po_form.
data : pohd like bapiekkoc.
data : poit like table of bapiekpoc with header line.
data : posl like table of bapieket with header line.
data : marc type marc.
pohd-doc_date = sy-datum.
pohd-doc_type = 'NB'.
pohd-doc_cat = 'L'.
pohd-co_code = 'TWHH'.
pohd-purch_org = 'TWHH'.
pohd-pur_group = 'HB1'.
pohd-vendor = 'JEI006'.
poit-po_item = '00010'.
poit-material = 'TEST-9999'.
poit-pur_mat = 'TEST-9999'.
poit-plant = t_werks.
poit-store_loc = '005G'.
poit-net_price = '1.56'.
poit-price_unit = '10' .
poit-po_price = 'X'.
poit-disp_quan = '59'.
poit-qual_insp = ''.
append poit.
posl-po_item = '00010'.
posl-deliv_date = sy-datum.
posl-quantity = '59'.
append posl.
if p_error = 'E' .
exit .
else.
call function 'BAPI_PO_CREATE'
exporting
po_header = pohd
importing
purchaseorder = po_num
tables
po_items = poit
po_item_schedules = posl
return = g_return.
commit work.
endif.
loop at g_return.
if g_return-type = 'S'.
write:/ 'Purchase order number is:',po_num.
endif.
if g_return-type = 'E'.
write:/ 'Purchase order number fail,',g_return-message.
endif.
endloop.
endform.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15117617/viewspace-662035/
,如需转载,请注明出处,否则将追究法律责任。