ZCMM01-10

*"Ariel add end 100114
            SELECT SUM( ZCM04~ERFMG ) INTO L_NOPOSTISSUE
            FROM ZCM04
             INNER JOIN ZCM03 ON ZCM04~DOCNUMBER = ZCM03~DOCNUMBER
             AND ZCM04~DOCYEAR = ZCM03~DOCYEAR WHERE
             ZCM03~AUFNR = ZCM03-AUFNR
             AND ZCM03~DOCSTAS = '0'
             AND ZCM03~DOCTYPE = '1'
             AND ZCM04~MATNR = ZCM04TAB-MATNR
             AND ZCM04~WERKS = ZCM04TAB-WERKS
             AND ZCM04~MARKDELETION NE 'X'
             AND ZCM03~DOCNUMBER NE ZCM03-DOCNUMBER.
          ENDIF. "Ariel add 100114
          IF SY-SUBRC NE 0.
            L_NOPOSTISSUE = 0.
          ENDIF.
          L_TOTALISSUE = 0.
*"Ariel add 100114 for epd2
          IF L_SGI > 0 .
            DATA: L_DOCQTY LIKE ZCM04-ERFMG.
            DATA: ZCM04TMP LIKE ZCM04TAB OCCURS 0 WITH HEADER LINE.
            ZCM04TMP[] = ZCM04TAB[] .
            IF NOT ZCM04TAB-ZALPGR IS INITIAL .
              L_DOCQTY = 0.
              LOOP AT ZCM04TMP WHERE ZALPGR = ZCM04TAB-ZALPGR
                              AND MARKDELETION NE 'X'.
                L_DOCQTY = L_DOCQTY + ZCM04TMP-ERFMG.
              ENDLOOP.
            ELSE.
              L_DOCQTY = 0.
              LOOP AT ZCM04TMP WHERE MATNR = ZCM04TAB-MATNR
                               AND MARKDELETION NE 'X'.
                L_DOCQTY = L_DOCQTY + ZCM04TMP-ERFMG.
              ENDLOOP.
            ENDIF.
            L_TOTALISSUE = L_ENMNG + L_NOPOSTISSUE + L_DOCQTY.
          ELSE.
*Ariel add end 100114
            L_TOTALISSUE = L_ENMNG + L_NOPOSTISSUE + ZCM04TAB-ERFMG.
          ENDIF. "Ariel Add 100114
**rena remark hard code 06022010
*          if zcm04tab-werks cs 'PP'. "Ariel add s 100208
          SELECT WERKS INTO R_WERKS-LOW FROM ZMM048
           WHERE BJECT = 'MWP0' AND VALUE = 'ACTIVE'.
            R_WERKS-SIGN = 'I'.
            R_WERKS-OPTION = 'EQ'.
            APPEND R_WERKS.
          ENDSELECT.
          IF ZCM04TAB-WERKS IN R_WERKS.
** END RENA MODIFY
            IF ZCM04TAB-MAABC = 'A'.
              IF L_TOTALISSUE > L_REQUIREQTY.
                C_TOTALISSUE = L_TOTALISSUE.
                CONDENSE C_TOTALISSUE.
                C_REQUIREQTY = L_REQUIREQTY.
                CONDENSE C_REQUIREQTY.
                C_MAXBT = L_MAXBT.
                CONDENSE C_MAXBT.
                CONCATENATE 'Error:Issue Qty:' C_TOTALISSUE
                   '>Allow QTY:' C_REQUIREQTY INTO L_ERROR.
                CONCATENATE ZCM04TAB-MATNR ' MAXRATE:' C_MAXBT
                 INTO L_ERROR2.
                CONDENSE L_ERROR.
                CONDENSE L_ERROR2.
                MESSAGE E000 WITH L_ERROR  L_ERROR2 'MPQ:' C_MPQ .
              ENDIF.
            ENDIF.
          ELSE.                 "Ariel add end 100208
            IF L_TOTALISSUE > L_REQUIREQTY.
              C_TOTALISSUE = L_TOTALISSUE.
              CONDENSE C_TOTALISSUE.
              C_REQUIREQTY = L_REQUIREQTY.
              CONDENSE C_REQUIREQTY.
              C_MAXBT = L_MAXBT.
              CONDENSE C_MAXBT.
              CONCATENATE 'Error:Issue Qty:' C_TOTALISSUE
                 '>Allow QTY:' C_REQUIREQTY INTO L_ERROR.
              CONCATENATE ZCM04TAB-MATNR ' MAXRATE:' C_MAXBT
               INTO L_ERROR2.
              CONDENSE L_ERROR.
              CONDENSE L_ERROR2.
              MESSAGE E000 WITH L_ERROR  L_ERROR2 'MPQ:' C_MPQ .
            ENDIF.
          ENDIF. "Ariel add 100208
        ENDIF.
      ENDIF.
***LBG20080419.ADD.EN
    ENDIF.
    MOVE-CORRESPONDING ZCM04TAB TO ZCM04WA.
    CLEAR: ZCM04WA-DOCNUMBER,ZCM04WA-DOCITEM.
    CHECK NOT ZCM04WA IS INITIAL.

    IF ZCM04WA-MATNR IS INITIAL OR ZCM04WA-WERKS IS INITIAL OR
       ZCM04WA-LGORT IS INITIAL OR ZCM04WA-ERFME IS INITIAL.
      ITEMCTRL-TOP_LINE = SY-TABIX.
      PERFORM. SET_CURSOR_POSITION_FOR_ALARM USING 1.
      MESSAGE E000 WITH 'Make an entry in all required fields.'.
    ENDIF.
* add by liuchun 070607
***********************doctype1SN*******************************
*
    IF ZCM03-DOCTYPE EQ '13'.     "add by liuchun 070607
***lbg20080509.edit.sn
      CLEAR L_RSNUM.
      CLEAR L_RSPOS.
      IF L_VALUE = '261'.
        SELECT SINGLE RESB~RSNUM RESB~RSPOS
        INTO (L_RSNUM ,L_RSPOS)
        FROM RESB
        INNER JOIN AFKO ON RESB~RSNUM = AFKO~RSNUM
        WHERE AFKO~AUFNR EQ ZCM03-AUFNR
         AND RESB~MATNR EQ ZCM04TAB-MATNR
         AND RESB~XLOEK NE 'X' AND RESB~BDMNG > 0
         AND RESB~CHARG EQ ZCM04TAB-CHARG.
***lbg20080509.edit.en
      ELSE.
        SELECT SINGLE RESB~RSNUM RESB~RSPOS
        INTO (L_RSNUM ,L_RSPOS)
        FROM RESB
        INNER JOIN AFKO ON RESB~RSNUM = AFKO~RSNUM
        WHERE AFKO~AUFNR EQ ZCM03-AUFNR
         AND RESB~MATNR EQ ZCM04TAB-MATNR
         AND RESB~CHARG EQ ZCM04TAB-CHARG.
      ENDIF.
      IF SY-SUBRC NE 0.
        MESSAGE E000 WITH 'The Material&Batch is not in W/O'
                     ZCM04TAB-MATNR  ZCM04TAB-CHARG.
      ELSE.
***lbg20080508.edit.sn
*        if zcm04tab-rsnum is initial.
        ZCM04TAB-RSNUM = L_RSNUM.
*         endif.
*         if zcm04tab-rspos is initial.
        ZCM04TAB-RSPOS = L_RSPOS.
*         endif.
        CLEAR L_VALUE.
        SELECT SINGLE VALUE INTO L_VALUE FROM ZMM048
        WHERE WERKS = ZCM04TAB-WERKS AND BJECT = 'DOCTYPE13'.
        IF SY-SUBRC NE 0 OR L_VALUE = '961'.
***lbg20080508.edit.en
          ZCM04TAB-RSNUM = ''.
          ZCM04TAB-RSPOS = 0.
          MODIFY ZCM04TAB.
        ELSE.
          MODIFY ZCM04TAB.
        ENDIF."lbg20080508.edit
      ENDIF.
    ENDIF.

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

转载于:http://blog.itpub.net/14397246/viewspace-666159/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值