&---------------------------------------------------------------------
*& Form FRM_CHANGE_AUFRN
&---------------------------------------------------------------------
-
调整工单
----------------------------------------------------------------------
FORM frm_change_aufrn .
DATA:lt_return TYPE STANDARD TABLE OF bapiret2.
DATA:ls_return TYPE bapiret2.
DATA lv_error TYPE c.
DATA lv_msg TYPE char100.
DATA:ls_resb_d TYPE resb.
DATA:ls_resb_i TYPE resb.
DATA:ls_resb_m TYPE resb.
"删除组件
DATA:lt_resb_d TYPE TABLE OF resb.
DATA:lt_resb_i TYPE TABLE OF resb.
DATA:lt_resb_m TYPE TABLE OF resb.
DATA it_resb_d TYPE coxt_t_resbdel.
"新增组件
DATA: ls_storage_location TYPE coxt_s_storage_location,
ls_storage_locationx TYPE coxt_s_storage_locationx,
ls_requ_quan TYPE coxt_s_quantity,
lv_operation TYPE co_aplzl,
lv_positionno TYPE positionno,
lv_numc TYPE numc4.
"新增组件-重新刷新订单行号使用
TYPES: BEGIN OF ty_resb_bt.
INCLUDE TYPE resbb.
TYPES: indold TYPE syst_tabix.
TYPES: no_req_upd TYPE syst_datar.
TYPES: END OF ty_resb_bt.
TYPES tt_resb_bt TYPE TABLE OF ty_resb_bt.
FIELD-SYMBOLS: <ft_resb_bt> TYPE tt_resb_bt,
<fs_resb_bt> TYPE ty_resb_bt.
*—修改生产订单组件定义
DATA:ls_order_key TYPE coxt_ord_key,
ls_order_component_key TYPE coxt_s_ord_comp_key,
ls_requirement_quantity TYPE coxt_s_quantity,
ls_requirement_quantityx TYPE coxt_s_quantityx,
ls_confirmed_quantity TYPE coxt_s_quantity,
ls_confirmed_quantityx TYPE coxt_s_quantityx,
lv_material TYPE coxt_material,
lv_materialx TYPE coxt_materialx,
-
ls_storage_location TYPE coxt_s_storage_location,
-
ls_storage_locationx TYPE coxt_s_storage_locationx, lv_batch TYPE coxt_batch, lv_batchx TYPE coxt_batchx, lv_mi_configuration_object TYPE coxt_config_object, lv_mi_configuration_objectx TYPE coxt_config_objectx, lv_error_occurred TYPE c.
DATA:lt_resb_get LIKE TABLE OF resbdget,
ls_resb_get LIKE resbdget.DATA lt_ztpplsbgb_d TYPE STANDARD TABLE OF ztpplsbgb.
DATA lt_ztpplsbgb_i TYPE STANDARD TABLE OF ztpplsbgb.
DATA lt_ztpplsbgb_m TYPE STANDARD TABLE OF ztpplsbgb.
DATA lt_ztpplsbgb_t TYPE STANDARD TABLE OF ztpplsbgb.
DATA lt_ztpplsbgb_s TYPE STANDARD TABLE OF ztpplsbgb.DATA:lv_menge TYPE ztpplsbgb-menge.
DATA:lv_text TYPE string.MOVE-CORRESPONDING gt_ztpplsbgb[] TO lt_ztpplsbgb_d[].
MOVE-CORRESPONDING gt_ztpplsbgb[] TO lt_ztpplsbgb_i[].
MOVE-CORRESPONDING gt_ztpplsbgb[] TO lt_ztpplsbgb_m[].
MOVE-CORRESPONDING gt_ztpplsbgb[] TO lt_ztpplsbgb_t[].SORT lt_ztpplsbgb_d BY werks z_matnr1 z_matnr2 zsczj.
DELETE lt_ztpplsbgb_d WHERE zsczj IS INITIAL.SORT lt_ztpplsbgb_i BY werks z_matnr1 z_matnr3 zxzbs.
DELETE lt_ztpplsbgb_i WHERE zxzbs IS INITIAL.SORT lt_ztpplsbgb_m BY werks z_matnr1 z_matnr2 zylxg.
DELETE lt_ztpplsbgb_m WHERE zylxg IS INITIAL .SORT lt_ztpplsbgb_t BY werks z_matnr1 z_matnr2 zylxg.
DELETE lt_ztpplsbgb_t WHERE zthbs IS INITIAL ."取占用数量使用
MOVE-CORRESPONDING lt_ztpplsbgb_t[] TO lt_ztpplsbgb_s[].
SORT lt_ztpplsbgb_s BY z_matnr1 z_matnr2.
DELETE ADJACENT DUPLICATES FROM lt_ztpplsbgb_s COMPARING z_matnr1 z_matnr2.LOOP AT gt_alv INTO gs_alv WHERE zbox = ‘X’
AND icon <> icon_led_green.CLEAR gs_alv-icon.
"拣配单冻结状态 =X ,则报错“选择工单清单中有冻结工单”
IF gs_alv-zdjzt = ‘X’.
gs_alv-msg = ‘选择工单清单中有冻结工单’.
gs_alv-icon = icon_led_red.
MODIFY gt_alv FROM gs_alv.
CLEAR g