Немного конечно запоздал с постингом, но все-таки может кому пригодится:
Code:
report zpm_pr_transfer_demo.
tables: mara,
t001l,
prps.
* Data for BAPI_GOODSMVT_CREATE
data: gmhead type bapi2017_gm_head_01,
gmcode type bapi2017_gm_code,
mthead type bapi2017_gm_head_ret.
data: goodsmvt_item like bapi2017_gm_item_create occurs 0 with header line.
data: ls_request like bapideliciousrequest,
lt_return type bapiret2 occurs 0 with header line,
error_occured.
data: p_meins like mara-meins.
parameters: p_budat like sy-datum,
p_matnr like mara-matnr,
p_quant type menge_d,
p_wbs_fr like prps-posid, " Откуда
p_pln_fr like t001l-werks,
p_lgt_fr like t001l-lgort,
p_wbs_to like prps-posid, " Куда
p_pln_to like t001l-werks,
p_lgt_to like t001l-lgort.
end-of-selection.
clear: gmhead,
gmcode,
goodsmvt_item.
refresh: goodsmvt_item.
* Fill goodsmvt_code = gmcode
move: '04' to gmcode-gm_code. "Transfer
* Fill Head for Mat.document
move: p_budat to gmhead-pstng_date,
sy-datum to gmhead-doc_date,
sy-uname to gmhead-pr_uname.
move 'Material transfer' to gmhead-header_txt.
* Fill Item for Mat.document
move: '415' to goodsmvt_item-move_type,
space to goodsmvt_item-mvt_ind,
'Q' to goodsmvt_item-spec_stock.
select single meins into p_meins from mara where matnr = p_matnr.
move: p_matnr to goodsmvt_item-material,
p_quant to goodsmvt_item-entry_qnt,
p_meins to goodsmvt_item-entry_uom,
p_wbs_fr to goodsmvt_item-val_wbs_elem,
p_pln_fr to goodsmvt_item-plant,
p_lgt_fr to goodsmvt_item-stge_loc,
p_wbs_to to goodsmvt_item-wbs_elem,
p_pln_to to goodsmvt_item-move_plant,
p_lgt_to to goodsmvt_item-move_stloc.
append goodsmvt_item.
call function 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = gmhead
goodsmvt_code = gmcode
TABLES
goodsmvt_item = goodsmvt_item
return = lt_return.
if lt_return[] is initial.
call function 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
endif.