私はあなたが何か新しい一緒に学び、公衆番号を共有するスキャン技術に焦点を当てることができます!
- 計画手配および製造指図のために、
本代替材料、検査終了後の均質セットは、分割量の単一の均質なセットに従うことができ、そして(削除規則で)代替の材料に均質なセットを削除しない場合。最高(最大株)部品の優先順位の生産のための取り決めにない均質な集合、他のコンポーネントを削除しました。
- 計画手配処理キッティングした後、
すべてPLAF-STLFX <> X(BOMが固定拡大しましアイデンティティ)計画手配を選択します。
2.1判断PLAF- VFMNG(セット数が均一であってもよい)> 0は、別のスリーブ材料を欠落削除します。組立ラインのCOMMITED量、(RESB-VMENG = 0)を削除します。
2.2 PLAF- VFMNG(Qiは番号を設定することができる)= 0の場合、予約された日付は、(成分削除予定受注)代替材料のより大きな量を必要とすることができます
2.3を選択した場合、計画手配を解体するの均質なセットで、その後、均質なセット数が予定の順序番号を変更します。
バッチ実行MRP、行動バッチATPチェック再。
- 均質な製造指図処理ユニット後
3.1、もし生産AFPO- VFMNG指図(セットの数が均一であってもよい)<> 0、RESB- VMENG(公約数)= 0代替材料を削除します。
3.2、生産AFPO- VFMNG指図(セットの数が均一であってもよい)= 0は、予約された場合、チケットは、材料の代替の最大量とすることができる、代替材料を削除しました。(削除作業次成分)
3.3選択した場合、「結果分割作業の単一均質セットによって」 AFPO- VFMNG(セット数が均一であってもよい)、更新作業指示に従って、。
下面分享需求里用到的主要功能:
1,删除计划订单组件,删除生产订单组件 , 对应前台事务码分别是 MD12 , CO02
2,修改计划订单总订单数量, 对应前台事务码 MD12
3,修改工单总数量, 对应前台事务码 CO02
1.删除订单组件用BAPI:
*&---------------------------------------------------------------------* *& Form FRM_DEAL_DD01 *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> LT_RESBKEYS *&---------------------------------------------------------------------* FORM frm_deal_dd01 TABLES pt_resbkeys TYPE coxt_t_resbdel. DATA: lt_return TYPE STANDARD TABLE OF bapiret2, lv_error TYPE flag. CHECK pt_resbkeys[] IS NOT INITIAL. * BAPI to delete the components of Production Order CALL FUNCTION 'CO_XT_COMPONENTS_DELETE' EXPORTING it_resbkeys_to_delete = pt_resbkeys[] IMPORTING e_error_occurred = lv_error TABLES ct_bapireturn = lt_return EXCEPTIONS delete_failed = 1 OTHERS = 2. IF lv_error IS INITIAL. PERFORM change_flag_set(saplcozv). * CALL FUNCTION 'CO_IT_SET_FLG_ITAB_NEW'. CALL FUNCTION 'CO_XT_ORDER_PREPARE_COMMIT'. COMMIT WORK AND WAIT. LOOP AT gt_data ASSIGNING FIELD-SYMBOL(<gf_data>) WHERE aufnr = gs_key-aufnr OR plnum = gs_key-plnum. <gf_data>-ctype = gc_s. ENDLOOP. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. CLEAR: gv_cmsg. LOOP AT lt_return INTO DATA(ls_return1) WHERE type CA 'EAX'. MESSAGE ID ls_return1-id TYPE ls_return1-type NUMBER ls_return1-number WITH ls_return1-message_v1 ls_return1-message_v2 ls_return1-message_v3 ls_return1-message_v4 INTO DATA(lv_message). gv_ctype = gc_e. gv_cmsg = |{ lv_message };{ gv_cmsg }|. CLEAR: lv_message. ENDLOOP. LOOP AT gt_data ASSIGNING <gf_data> WHERE aufnr = gs_key-aufnr OR plnum = gs_key-plnum. <gf_data>-ctype = gc_e. <gf_data>-cmsg = gv_cmsg. ENDLOOP. ENDIF. ENDFORM.
这步现在测试,删除生产订单OK ,删除计划订单也没有报错,但是没有删除成功, 正在找问题,
放开CALL FUNCTION 'CO_IT_SET_FLG_ITAB_NEW'.
再测试一次
需求数量 和 可用性检查数量 的对比
已经走完commit work 但还是不能删除成功
本来 103102-0000HL-09 这一行应该被删除,
2,修改计划订单总订单数量
*&---------------------------------------------------------------------* *& Form FRM_DEAL_PL *&---------------------------------------------------------------------* *& 更改计划订单的数量 为可齐套数量 *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM frm_deal_pl . DATA:ls_headerdata TYPE bapiplaf_i2, ls_headerdatax TYPE bapiplaf_i2x, ls_return TYPE bapireturn1. ls_headerdata-total_plord_qty = gs_data-qtmng. ls_headerdatax-total_plord_qty = 'X'. **FIXED_SCRAP_QTY "计划报废数量 字段AVMNG CALL FUNCTION 'BAPI_PLANNEDORDER_CHANGE' EXPORTING plannedorder = gs_data-plnum headerdata = ls_headerdata headerdatax = ls_headerdatax IMPORTING return = ls_return. IF ls_return-type CA 'EXA'. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. MESSAGE ID ls_return-id TYPE ls_return-type NUMBER ls_return-number WITH ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4 INTO DATA(lv_message). gs_data-ctype = gc_e. gs_data-cmsg = lv_message. gs_data-sffc = abap_true. APPEND gs_data TO gt_data. CLEAR gs_data. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = abap_true. gs_data-sffc = abap_true. gs_data-ctype = gc_s. gs_data-cmsg = '更改计划订单的数量成功'(004). ENDIF. ENDFORM.
3.修改工单总数量,
*&---------------------------------------------------------------------* *& Form FRM_DEAL_DD02 *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM frm_deal_dd02 . DATA: ls_orderdata LIKE bapi_pp_order_change, "修改结构 ls_orderdatax LIKE bapi_pp_order_changex, ls_order_status LIKE bapi_order_status, lv_otype LIKE bapi_order_copy-order_type, lv_bapiflag LIKE bapiflag-bapiflag, ls_return LIKE bapiret2. IF p_dd02 EQ abap_true. ls_orderdata-quantity = gs_data-qtmng. ls_orderdatax-quantity = 'X'. CALL FUNCTION 'BAPI_PRODORD_CHANGE' EXPORTING number = gs_data-aufnr orderdata = ls_orderdata orderdatax = ls_orderdatax IMPORTING return = ls_return order_type = lv_otype order_status = ls_order_status master_data_read = lv_bapiflag. IF ls_return-type CA 'EXA'. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. MESSAGE ID ls_return-id TYPE ls_return-type NUMBER ls_return-number WITH ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4 INTO DATA(lv_message). gs_data-ctype = gc_e. gs_data-cmsg = lv_message. gs_data-sffc = abap_true. APPEND gs_data TO gt_data. CLEAR gs_data. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = abap_true. gs_data-sffc = abap_true. gs_data-ctype = gc_s. gs_data-cmsg = '按照afpo-vfmng (可齐套数量)更新工单成功'(003). APPEND gs_data TO gt_data. CLEAR gs_data. ENDIF. ENDIF. ENDFORM.