Enhancement for ZXCO1U01

Enhancement: PPCO0001
ZXCO1U01

DATA TEMP_BATCH LIKE MCHA-CHARG.
DATA TEMP_REVERSION LIKE AEOI-REVLV.
DATA L_OBJECT01 LIKE ZMM048-OBJECT.
DATA: L_MESTYE1(01) TYPE C.
CASE SY-MANDT.
  WHEN '100'.
*****  check W/O header material reversion   *******
    SELECT SINGLE OBJECT INTO L_OBJECT01
    FROM ZMM048
    WHERE WERKS = POSITION_TABLE-DWERK AND BJECT = 'WOBACTHCHK'
    AND VALUE = 'ACTIVE'.
    IF SY-SUBRC = 0.
      CLEAR: TEMP_BATCH,TEMP_REVERSION.

      IF ( SY-TCODE = 'CO02' OR SY-TCODE = 'CO01' OR SY-TCODE = 'CO08'
           OR SY-TCODE = 'CO41' OR SY-TCODE = 'CO40')
         AND POSITION_TABLE-MATNR <> ''.
        IF POSITION_TABLE-CHARG IS INITIAL .
          MESSAGE ID '00' TYPE 'A' NUMBER '208'
                  WITH 'Please Input W/O Header Batch!' .
        ELSEIF POSITION_TABLE-CHARG <> ''.
*      check batch
          SELECT SINGLE CHARG INTO TEMP_BATCH FROM MCHA
                   WHERE CHARG = POSITION_TABLE-CHARG
                        AND WERKS = HEADER_TABLE-WERKS
                        AND MATNR = POSITION_TABLE-MATNR.
          IF SY-SUBRC <> 0.
            MESSAGE ID '00' TYPE 'A' NUMBER '208'
                  WITH 'No Batch Master,please request for MDC!'.
          ENDIF.
*        check reversion
          SELECT SINGLE REVLV
           FROM AEOI INNER JOIN AENR ON AEOI~AENNR = AENR~AENNR
           INTO TEMP_REVERSION
           WHERE BJKT = POSITION_TABLE-MATNR
           AND REVLV = POSITION_TABLE-CHARG
           AND   AETYP = '41'
           AND   REVLV <> ''.
          IF SY-SUBRC <> 0.
            MESSAGE ID '00' TYPE 'A' NUMBER '208'
                  WITH 'No Reversion,please request for MDC!'.
          ENDIF.

******************Check Batch = Revision ?
          IF HEADER_TABLE-REVLV  <> TEMP_BATCH .
            IF SY-UNAME EQ 'PM' OR SY-UNAME CS 'CO'
              OR SY-UNAME CS 'CM'.

              L_MESTYE1 = 'W'.
            ELSE.
              L_MESTYE1 = 'A'.
            ENDIF.

            MESSAGE ID '00' TYPE L_MESTYE1 NUMBER '208'
                  WITH 'Revision and Batch does not match! Call help
                        FROM IT OR CM'.
          ENDIF.
        ENDIF.
      ENDIF.

*****  check W/O Detail material reversion   *******
      IF ( SY-TCODE = 'CO02' OR SY-TCODE = 'CO01' OR SY-TCODE = 'CO08'
            OR SY-TCODE = 'CO41' OR SY-TCODE = 'CO40').
        LOOP AT COMPONENT_TABLE.
          IF COMPONENT_TABLE-DUMPS <> 'X'  "phatom item
          AND COMPONENT_TABLE-SCHGT <> 'X'  "Bulk material
          AND COMPONENT_TABLE-CHARG IS INITIAL.

            MESSAGE ID '00' TYPE 'A' NUMBER '208'
                    WITH 'Please Input W/O component Batch!' .
            EXIT.
          ENDIF.
        ENDLOOP.

      ENDIF.
    ENDIF.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15117617/viewspace-584458/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15117617/viewspace-584458/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值