DATA: wk_header TYPE bapi2017_gm_head_01,
wk_code TYPE bapi2017_gm_code VALUE '04',
it_item TYPE TABLE OF bapi2017_gm_item_create,
it_serial TYPE TABLE OF bapi2017_gm_serialnumber,
it_return TYPE TABLE OF bapiret2,
wa_item LIKE LINE OF it_item,
wa_serial LIKE LINE OF it_serial,
wa_return LIKE LINE OF it_return,
wk_headret TYPE bapi2017_gm_head_ret.
* move corresponding bapi parameters
wk_header-pstng_date = pstng_date.
wk_header-doc_date = doc_date.
wk_code-gm_code = '04'.
wa_item-material = material.
wa_item-plant = plant.
wa_item-stge_loc = stg_loc.
wa_item-move_type = move_type.
* 库存类型
SELECT SINGLE sobkz INTO wa_item-spec_stock
FROM eqbs INNER JOIN equi
ON equi~equnr = eqbs~equnr
WHERE equi~sernr = serial_no.
* 如果是订单车
IF wa_item-spec_stock = 'E'.
wa_item-val_sales_ord = vbeln.
wa_item-val_s_ord_item = posnr.
ENDIF.
wa_item-entry_qnt = entry_qnt.
wa_item-entry_uom = entry_vom.
wa_item-move_plant = move_plant.
wa_item-move_stloc = move_stloc.
APPEND wa_item TO it_item.
wa_serial-matdoc_itm = '0001'.
wa_serial-serialno = serial_no.
APPEND wa_serial TO it_serial.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
GOODSMVT_HEADER = wk_header
GOODSMVT_CODE = wk_code
* TESTRUN = ' '
IMPORTING
GOODSMVT_HEADRET = wk_headret
TABLES
GOODSMVT_ITEM = it_item
GOODSMVT_SERIALNUMBER = it_serial
RETURN = it_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X' .