FORM fnnn_hu_goods_movement USING p_i_hu TYPE t_i_hu p_i_huit TYPE t_i_huit p_werks TYPE t001l-werks p_lgort TYPE t001l-lgort p_bldat TYPE mkpf-bldat p_budat TYPE mkpf-budat CHANGING p_posted TYPE sysubrc p_wa_msg_move TYPE huitem_messages p_i_msg_move TYPE huitem_messages_t. DATA : l_huwbevent TYPE huwbevent VALUE '0026'."'0006'. DATA : i_move TYPE hum_data_move_to_t, wa_move TYPE hum_data_move_to. DATA : wa_huit TYPE t_wa_huit. DATA : wa_exidv TYPE hum_exidv, i_exidv TYPE hum_exidv_t. DATA : wa_mkpf TYPE imkpf. DATA : wa_items TYPE hum_humseg, i_items TYPE hum_humseg_t. DATA : prev_hu TYPE t_wa_huit-venum. DATA : l_count TYPE i VALUE 1. * sort p_i_huit by venum vepos. LOOP AT p_i_hu INTO wa_hu. LOOP AT p_i_huit INTO wa_huit WHERE venum = wa_hu-venum . IF l_count = 1. wa_move-matnr = wa_huit-matnr. wa_move-werks = p_werks. wa_move-charg = wa_huit-charg. wa_move-lgort = wa_huit-umlgo. wa_move-sobkz = wa_huit-sobkz. wa_move-sonum = wa_huit-sonum. wa_move-huwbevent = l_huwbevent. wa_move-bwart = 'Z11'."'311'. ENDIF. wa_items-venum = wa_huit-venum. wa_items-vepos = wa_huit-vepos. APPEND wa_items TO i_items. CLEAR wa_items. l_count = l_count + 1. ENDLOOP. l_count = 1. wa_move-hu_items = i_items. APPEND wa_move TO i_move. CLEAR i_items. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = wa_huit-exidv IMPORTING output = wa_exidv-exidv. APPEND wa_exidv TO i_exidv. CLEAR : wa_move,wa_exidv. ENDLOOP. wa_mkpf-bldat = p_bldat. wa_mkpf-budat = p_budat. CALL FUNCTION 'HU_PACKING_REFRESH'. CALL FUNCTION 'HU_CREATE_GOODS_MOVEMENT' EXPORTING if_event = l_huwbevent * IF_SIMULATE = ' ' * IF_COMMIT = ' ' if_tcode = 'VLMOVE' is_imkpf = wa_mkpf it_move_to = i_move * IT_INTERNAL_ID = it_external_id = i_exidv IMPORTING ef_posted = p_posted es_message = p_wa_msg_move et_messages = p_i_msg_move. * ES_EMKPF = * CHANGING * CT_IMSEG = . IF NOT p_posted = 1. * MB_CREATE.. ist fehlgeschlagen - Sperren löschen ROLLBACK WORK. ELSE. COMMIT WORK AND WAIT. ENDIF. ENDFORM. " FNNN_HU_GOODS_MOVEMENT
相关文章: