HU_CREATE_GOODS_MOVEMENT
Goods Movements for Handling Units
参考代码:
"Get HU info by material number and serial number from table OBJK
SELECT SINGLE obknr FROM objk INTO lv_obknr
WHERE sernr = cs_gbox_data-sernr AND
matnr = cs_gbox_data-matnr AND
taser = 'SER06'.
CLEAR: lv_venum,lv_vepos,lv_exidv,lv_sernr,lv_matnr.
SELECT
b~venum
b~vepos
b~exidv
a~sernr
a~matnr
a~obknr
INTO CORRESPONDING FIELDS OF TABLE et_hu_block
* INTO (lv_venum,lv_vepos,lv_exidv,lv_sernr,lv_matnr)
FROM objk AS a
INNER JOIN ser06 AS b ON a~obknr = b~obknr
WHERE a~obknr = lv_obknr .
CLEAR it_external_id[]. REFRESH it_external_id.
it_external_id-exidv = lv_exidv.
APPEND it_external_id.
CLEAR lt_hum_humseg[]. REFRESH lt_hum_humseg.
lt_hum_humseg-venum = lv_venum.
lt_hum_humseg-vepos = lv_vepos.
APPEND lt_hum_humseg.
CLEAR it_move_to[]. REFRESH it_move_to.
it_move_to-huwbevent = '0022'.
it_move_to-lgort = ls_ouput-lgort.
it_move_to-werks = ls_ouput-werks.
it_move_to-matnr = cs_gbox_data-matnr.
it_move_to-hu_items = lt_hum_humseg[].
APPEND it_move_to.
CLEAR is_imkpf.
is_imkpf-budat = sy-datum.
CLEAR it_internal_id[]. REFRESH it_internal_id.
it_internal_id-venum = lv_venum.
"0023 block ; 0022 unblock
CALL FUNCTION 'HU_CREATE_GOODS_MOVEMENT'
EXPORTING
if_event = '0022' "unblock the HU
if_commit = space
is_imkpf = is_imkpf
it_move_to = it_move_to[]
it_internal_id = it_internal_id[]
it_external_id = it_external_id[]
IMPORTING
ef_posted = g_subrc "return
es_message = wa_message "export message
et_messages = it_message[]. "
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
READ TABLE it_message WITH KEY
msgid = 'HUGENERAL'
msgty = 'S'
msgno = '309'.
IF sy-subrc = 0.
cs_data-mblnr_ub = it_message-msgv1.
ev_mblnr = cs_gbox_data-mblnr_ub.
ELSE.