- April 3, 2026
- Kishore Thutaram
-
- 0
Create Handling Unit & Map to Outbound Delivery Using BAPI
Requirement – Create a handling unit and map it to outbound delivery by using BAPI FMs
This logic can be implemented in any BADI implementation, enhancement, or program.
Implement the code below
CONSTANTS: lc_pmat TYPE vhilm18 VALUE 'MAT-PALLET',
lc_mat_objct TYPE vpobj VALUE '01'.
DATA: ls_hdrprop TYPE bapihuhdrproposal,
ls_huhdr TYPE bapihuheader,
lv_hukey TYPE bapihukey-hu_exid,
lt_huret TYPE TABLE OF bapiret2.
^^* BAPI to create handling unit for packing material
ls_hdrprop-pack_mat = lc_pmat.
CALL FUNCTION 'BAPI_HU_CREATE'
EXPORTING
headerproposal = ls_hdrprop
IMPORTING
huheader = ls_huhdr
hukey = lv_hukey
TABLES
return = lt_huret.
IF ls_huhdr IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
CLEAR lt_huret.
SELECT SINGLE exidv FROM vekp
INTO lv_exidv
WHERE vpobjkey = lv_deliv.
ls_huhdr-ext_id_hu_2 = lv_exidv.
ls_huhdr-pack_mat_object = lc_mat_objct.
ls_huhdr-pack_mat_obj_key = lv_deliv. "Delivery number
*^^* BAPI to map handling unit to OBD
CLEAR lt_huret.
CALL FUNCTION 'BAPI_HU_CHANGE_HEADER'
EXPORTING
hukey = lv_hukey
huchanged = ls_huhdr
IMPORTING
huheader = ls_huhdr
TABLES
return = lt_huret.
IF sy-subrc = 0. "ls_huhdr IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
ENDIF.






























