Hi ,
I want to unpack an HU from an outbound delivery and transfer to other storage location using FM 'HU_PACKING_AND_UNPACKING'.I could find out that only quantities are transferred but unpacking HU is not done.
Below is the code i am using for unpacking.
CALL FUNCTION 'HU_GET_HUS' EXPORTING if_lock_hus = 'X' it_venum = it_hu1 IMPORTING et_header = it_hdr1 et_items = it_item1 EXCEPTIONS hus_locked = 1 no_hu_found = 2 fatal_error = 3 OTHERS = 4. IF sy-subrc <> 0. l_error = 'X'. CLEAR: g_msgid, g_msgno, g_msgv1,g_msgv2, g_msgv3, g_msgv4. g_msgid = sy-msgid. g_msgno = sy-msgno. g_msgv1 = sy-msgv1. g_msgv2 = sy-msgv2. g_msgv3 = sy-msgv3. g_msgv4 = sy-msgv4. PERFORM message_scr USING g_msgid g_msgno g_msgv1 g_msgv2 g_msgv3 g_msgv4. EXIT. ENDIF. LOOP AT it_hu1 INTO wa_hu. CLEAR: wa_item1,l_error,l_post. READ TABLE it_hdr1 INTO wa_hdr1 WITH KEY venum = wa_hu-venum. CLEAR : g_venum, g_plant, g_sloc, g_whno, g_stype, g_sbin. * get the warehouse details SELECT SINGLE lgnum lgtyp lgpla FROM lein INTO (g_whno,g_stype,g_sbin) WHERE lenum = wa_hdr1-exidv. IF sy-subrc EQ 0. * Get the plant and storage location for WM managed SELECT SINGLE werks lgort FROM lqua INTO (g_plant, g_sloc) WHERE lgnum = g_whno AND lgtyp = g_stype AND lgpla = g_sbin AND lenum = wa_hdr1-exidv. ELSE. * Get the Venum (Internal HU Number) SELECT SINGLE venum FROM vekp INTO g_venum WHERE exidv = wa_hdr1-exidv. IF sy-subrc EQ 0. * Get the plant and storage location for Non-WM managed SELECT SINGLE werks lgort FROM vepo INTO (g_plant, g_sloc) WHERE venum = wa_hu-venum. ENDIF. ENDIF. READ TABLE it_item1 INTO wa_item1 WITH KEY venum = wa_hu-venum. IF sy-subrc = 0. CLEAR :wa_pack_unpack. MOVE-CORRESPONDING wa_item1 TO wa_pack_unpack. wa_pack_unpack-venum = wa_item1-venum. wa_pack_unpack-vepos = wa_item1-vepos. wa_pack_unpack-velin = wa_item1-velin. wa_pack_unpack-belnr = wa_item1-vbeln. wa_pack_unpack-posnr = wa_item1-posnr. MOVE wa_item1-vemng TO l_vemng. CONCATENATE l_vemng '-' INTO l_vemng. CONDENSE l_vemng NO-GAPS. MOVE l_vemng TO wa_pack_unpack-quantity. wa_pack_unpack-altme = wa_item1-altme. wa_pack_unpack-matnr = wa_item1-matnr. wa_pack_unpack-charg = wa_item1-charg. wa_pack_unpack-werks = g_plant. wa_pack_unpack-lgort = g_sloc. wa_pack_unpack-wdatu = wa_item1-wdatu. wa_pack_unpack-vfdat = wa_item1-vfdat. ENDIF. * *Find the partner location CLEAR: g_hu_managed, g_partner_sloc. CALL FUNCTION 'V51S_HU_LGORT' EXPORTING if_lgort = g_sloc if_werks = g_plant IMPORTING ef_hu_managed = g_hu_managed ef_partner_lgort = g_partner_sloc EXCEPTIONS lgort_not_exist = 1 OTHERS = 2. IF sy-subrc <> 0. ENDIF. IF g_hu_managed = 'X'. wa_pack_unpack-umlgo = g_partner_sloc. ENDIF. CALL FUNCTION 'HU_PACKING_AND_UNPACKING' EXPORTING is_packing_request = wa_pack_unpack IMPORTING es_p_request = wa_pack_unpack EXCEPTIONS missing_data = 1 hu_not_changeable = 2 not_possible = 3 customizing = 4 weight = 5 volume = 6 serial_nr = 7 fatal_error = 8 OTHERS = 9. IF sy-subrc <> 0. l_error = 'X'. ELSE. l_post = 'X'. ENDIF. IF l_error IS INITIAL AND l_post EQ 'X'. CALL FUNCTION 'HU_POST' EXPORTING if_synchron = 'X' if_commit = 'X' IMPORTING et_messages = it_messages. ENDLOOP.
Please help if any parameter need to be set for unpacking of HU.
Please suggest.
Thanks in advance.