- April 7, 2026
- Kishore Thutaram
-
- 0
Update Handling Unit status on Goods receipt creation by using Enhancement
Business requirement: Update the handling unit status on goods receipt creation.
Steps: FM Exit: EXIT_SAPLLMDE_002
Include: ZXLIDU10
Implement the below code:
DATA: ls_flags TYPE v51p_select_flags,
lt_hus TYPE hum_exidv_t,
ls_hu LIKE LINE OF lt_hus,
lt_objects TYPE hum_object_t,
ls_object LIKE LINE OF lt_objects,
lf_rcode TYPE sysubrc,
lt_header TYPE TABLE OF vekpvb,
lt_items TYPE TABLE OF vepovb,
lt_history TYPE TABLE OF vevwvb,
lt_high TYPE hum_venum_t,
et_messages TYPE huitem_messages_t.
DATA: lt_new_values TYPE hum_update_header_t,
ls_new_values LIKE LINE OF lt_new_values,
lt_messages TYPE huitem_messages_t.
ls_hu-exidv = iv_exidv. "Input parameter
APPEND ls_hu TO lt_hus.
ls_flags-no_db_select = ' '.
ls_flags-lock_hu = abap_true.
ls_flags-add_and_exp = abap_true.
APPEND ls_object TO lt_objects.
CALL FUNCTION 'V51P_FILL_GT'
EXPORTING
is_flags = ls_flags
it_hus = lt_hus
IMPORTING
ef_rcode = lf_rcode
et_vekp = lt_header
et_vepo = lt_items
et_vevw = lt_history
et_highest_level = lt_high
et_messages = et_messages
EXCEPTIONS
hu_locked = 01
no_hu_found = 02
OTHERS = 99.
IF sy-subrc = 0 AND NOT line_exists( et_messages[ msgty = 'E' ] ).
ls_new_values-hdl_unit_itid = iv_venum . " Internal Handling Unit Number
ls_new_values-hdl_unit_exid = iv_exidv. " External Handling Unit Identification
ls_new_values-field_name = 'STATUS'. " Field name of changed field
ls_new_values-field_value = iv_status ." Existing value
APPEND ls_new_values TO lt_new_values.
"Update packing object as 10
ls_new_values-field_name = 'VPOBJ'. " Field name of changed field
ls_new_values-field_value = '10' . " Value of field to be changed
APPEND ls_new_values TO lt_new_values.
CALL FUNCTION 'HU_HEADER_UPDATE'
EXPORTING
it_new_values = lt_new_values
IMPORTING
et_messages = lt_messages
EXCEPTIONS
not_possible = 1
OTHERS = 2.
IF sy-subrc = 0 AND NOT line_exists( lt_messages[ msgty = 'E' ] ).
CALL FUNCTION 'HU_PACKING_UPDATE'
EXPORTING
if_synchron = abap_true.
ENDIF.
ENDIF.






























