1. 程式人生 > 其它 >CO01/CO02生產訂單元件庫存地點替換

CO01/CO02生產訂單元件庫存地點替換

一、生產訂單元件庫存地點替換

當生產訂單維護元件點選儲存時,根據對應的工廠和工作中心,到配置表中查詢對應的庫存地點,並將自動帶出的庫存地點替換

二、隱式增強

在函式CO_VB_ORDER_POST中新增隱式增強邏輯(此函式為非同步呼叫)

參考程式碼

ENHANCEMENT 1  ZPPXXX.    "active version

READ TABLE CAUFVTA INDEX 1.
IF CAUFVTA-WERKS = 'XXXX'.
  IF AFVGTAB[] IS NOT INITIAL.
    SELECT
      OBJTY,"資源的物件型別
      OBJID,"
資源的物件 ID ARBPL"工作中心 FROM CRHD INTO TABLE @DATA(LT_CRHD) FOR ALL ENTRIES IN @AFVGTAB WHERE OBJID = @AFVGTAB-ARBID. IF LT_CRHD IS NOT INITIAL. "獲取配置表對應的庫存地點 SELECT * FROM ZXXX INTO TABLE @DATA(LT_XBC) FOR ALL ENTRIES IN @LT_CRHD WHERE
ARBPL = @LT_CRHD-ARBPL AND WERKS = @CAUFVTA-WERKS. LOOP AT RESBTAB ASSIGNING FIELD-SYMBOL(<FS_RESB>) WHERE RGEKZ = 'X'. READ TABLE AFVGTAB WITH KEY AUFPL = <FS_RESB>-AUFPL APLZL = <FS_RESB>-APLZL. IF SY-SUBRC EQ 0. READ TABLE LT_CRHD INTO DATA
(LS_CRHD) WITH KEY OBJID = AFVGTAB-ARBID. IF SY-SUBRC EQ 0. READ TABLE LT_XBC INTO DATA(LS_XBC) WITH KEY ARBPL = LS_CRHD-ARBPL. IF SY-SUBRC EQ 0. <FS_RESB>-LGORT = LS_XBC-LGORT."庫存地點 ENDIF. ENDIF. ENDIF. ENDLOOP. ENDIF. ENDIF. ENDIF. ENDENHANCEMENT.