ABAP batch批次程式總結代碼

 FORM GET_MATERIAL_001_DETAIL USING PF_MATNR PF_08 PF_03 PF_04 PF_09 PF_11 PF_07.
  DATA: L_OBJECTKEY LIKE BAPI1003_KEY-OBJECT.
  DATA: LT_CHAR LIKE TABLE OF BAPI1003_ALLOC_VALUES_CHAR WITH HEADER LINE,
        LT_NUM  LIKE TABLE OF BAPI1003_ALLOC_VALUES_NUM WITH HEADER LINE,
        LT_CURR LIKE TABLE OF BAPI1003_ALLOC_VALUES_CURR WITH HEADER LINE,
        LT_RETURN LIKE TABLE OF BAPIRET2 WITH HEADER LINE.
     L_OBJECTKEY = PF_MATNR.
     CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
         EXPORTING
           OBJECTKEY              = L_OBJECTKEY
           OBJECTTABLE            = 'MARA'
           CLASSNUM               = 'Z_PVD_001_10'
           CLASSTYPE              = '001'
         TABLES
           ALLOCVALUESCHAR        = LT_CHAR
           ALLOCVALUESNUM         = LT_NUM
           ALLOCVALUESCURR        = LT_CURR
           RETURN                 = LT_RETURN.
       LOOP AT LT_CHAR.
           CASE LT_CHAR-CHARACT.
             WHEN 'Z_PVD_001_08'. PF_08 = LT_CHAR-VALUE_CHAR. "類別
             WHEN 'Z_PVD_001_03'. PF_03 = LT_CHAR-VALUE_CHAR. "顏色
             WHEN 'Z_PVD_001_04'. PF_04 = LT_CHAR-VALUE_CHAR. "材質
             WHEN 'Z_PVD_001_09'. PF_09 = LT_CHAR-VALUE_CHAR. "項目
             WHEN 'Z_PVD_001_11'. PF_11 = LT_CHAR-VALUE_CHAR. "客供料
             WHEN 'Z_PVD_001_07'. PF_07 = LT_CHAR-VALUE_CHAR. "級別
             WHEN OTHERS.
               ...
           ENDCASE.
       ENDLOOP.
ENDFORM.

FORM READ_BATCH_FINISHED USING PF_MATNR PF_CHARG PF_WERKS PF_VALUE1.
data: objectkey          like BAPI1003_KEY-OBJECT,
      objectkeytable     like table of BAPI1003_OBJECT_KEYS with header line,
      allocvaluesnumnew  like table of BAPI1003_ALLOC_VALUES_NUM with header line,
      allocvaluescharnew like table of BAPI1003_ALLOC_VALUES_char with header line,
      allocvaluescurrnew like table of BAPI1003_ALLOC_VALUES_curr with header line,
      return             like table of BAPIRET2 with header line.


    CLEAR: objectkey, objectkeytable, objectkeytable[],
           allocvaluescharnew, allocvaluescharnew[],
           allocvaluescurrnew, allocvaluescurrnew[],
           allocvaluesnumnew, allocvaluesnumnew[],
           return, PF_VALUE1.  ", PF_VALUE2.



        clear: objectkeytable, objectkeytable[].
        objectkeytable-key_field = 'MATNR'.
        objectkeytable-value_int = PF_MATNR.   "2O¢Do
        APPEND objectkeytable.
        objectkeytable-key_field = 'CHARG'.
        objectkeytable-value_int = PF_CHARG.   "2O¢Do¡±a|¡M
        APPEND objectkeytable.
*     Only if Batch management is Plant dependant
        objectkeytable-key_field = 'WERKS'.
        objectkeytable-value_int = PF_WERKS.   "l_werks.
        APPEND objectkeytable.

        CALL FUNCTION 'BAPI_OBJCL_CONCATENATEKEY'
          EXPORTING
            objecttable    = 'MCH1' "-objecttable
          IMPORTING
            objectkey_conc = objectkey
          TABLES
            objectkeytable = objectkeytable
            return         = return.
          IF objectkey IS NOT INITIAL.
              CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
                  EXPORTING
                    OBJECTKEY              = objectkey
                    OBJECTTABLE            = 'MCH1'
                    CLASSNUM               = 'Z_BATCH_PVD_FG_01'
                    CLASSTYPE              = '023'
*                   KEYDATE                = SY-DATUM
*                   UNVALUATED_CHARS       = ' '
*                   LANGUAGE               = SY-LANGU
*                 IMPORTING
*                   STATUS                 =
*                   STANDARDCLASS          =
                  TABLES
                    ALLOCVALUESNUM         = ALLOCVALUESNUMNEW
                    ALLOCVALUESCHAR        = ALLOCVALUESCHARNEW
                    ALLOCVALUESCURR        = ALLOCVALUESCURRNEW
                    RETURN                 = RETURN.
               READ TABLE ALLOCVALUESCHARNEW WITH KEY CHARACT = 'Z_BATCH_PVD_005'.
               IF SY-SUBRC = 0.
                   PF_VALUE1 = ALLOCVALUESCHARNEW-VALUE_CHAR.
               ENDIF.
*               READ TABLE ALLOCVALUESCHARNEW WITH KEY CHARACT = 'Z_BATCH_PVD_004'.
*               IF SY-SUBRC = 0.
*                   PF_VALUE2 = ALLOCVALUESCHARNEW-VALUE_CHAR.
*               ENDIF.
          ENDIF.
ENDFORM.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值