ZCMM01-10

*Yuan-Yuan 20091024 add NPD WO R-GI Control.en
**LBG20080419.ADD.SN
      IF ZCM03-DOCTYPE EQ '1'.
        CLEAR: L_DAUAT.
*Echo 20100310 add.check over issue by ABC code.sn
        SELECT SINGLE * FROM ZMM048
        WHERE WERKS = ZCM04TAB-WERKS
          AND BJECT = 'OVERISSUE4'
          AND VALUE = 'ACTIVE'.
        IF SY-SUBRC = 0.
          PERFORM. CHECK_OVER_ISSUE .
        ENDIF.
*Echo 20100310 add.check over issue by ABC code.en
        SELECT SINGLE AFPO~DAUAT
         INTO (L_DAUAT ) FROM AFPO
          WHERE AUFNR EQ ZCM03-AUFNR
            AND POSNR EQ '0001'.
        L_CNT = 0.
        L_MPQCNT = 1.
        SELECT COUNT(*) INTO L_MPQCNT 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.
*"Ariel add 100114.start EPD2 by order type check over issue L6----*
        SELECT SINGLE * FROM ZPCECONTROLVALUE
          WHERE WERKS = ZCM04TAB-WERKS
            AND CTYPE = 'B9AWOTYPE'
            AND CVALUE = L_DAUAT
            AND INDICATOR2 = 'ACTIVE'.
        IF SY-SUBRC EQ 0.
*Ariel add 1001114.en----------------------------------------------*
          SELECT COUNT(*) INTO L_CNT FROM ZMM048 WHERE
           WERKS = ZCM04TAB-WERKS AND BJECT = 'OVERISSUE2'
           AND VALUE = 'ACTIVE'.
*Ariel add endif. 100114
        ENDIF.

        CLEAR L_MPQ.
        SELECT SINGLE BSTRF INTO L_MPQ FROM MARC WHERE
           MATNR = ZCM04TAB-MATNR AND WERKS = ZCM04TAB-WERKS.
        C_MPQ = L_MPQ.
        CONDENSE C_MPQ.
        IF L_MPQ EQ '' OR L_MPQ = 0.
          L_MPQ = 1.
        ENDIF.
*IF L_CNT > 0 AND L_MPQ = 1. "xian zhi guan kong gui zhongWULIAO
        IF L_CNT > 0.
          L_MAXBT = 100.
          L_MINBT = 100.
***lbg20080428.edit.sn.xian bu kao lv sun hao lv
*          CALL FUNCTION 'ZRFC_MM_PCE_0008'
*            EXPORTING
*             P_WERKS         = ZCM04TAB-WERKS
*             P_MATNR         = ZCM04TAB-MATNR
**           P_AUART         =
*            IMPORTING
*             P_MAXRATE       = L_MAXBT
*             P_MINRATE       = L_MINBT
*             .
***lbg20080428.edit.en.xian bu kao lv sun hao lv
          IF L_MAXBT = 0 OR L_MAXBT EQ SPACE.
            L_MAXBT = 100.
          ENDIF.
*"Ariel add 100114 check l_sgi for epd2
          IF L_SGI > 0 .
            L_REQUIREQTY = 0.
            L_ENMNG = 0.
*            C_ALPGR1 = ZCM04TAB-ALPGR."ariel mark at 100412
*            C_ALPGR = C_ALPGR1+4(2).
            IF ZCM04TAB-ZALPGR IS INITIAL.
              SELECT SINGLE SUM( RESB~BDMNG ) SUM( RESB~ENMNG )
              INTO (L_REQUIREQTY,L_ENMNG )
              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'
              GROUP BY RESB~MATNR.
            ELSE.
              SELECT SINGLE SUM( RESB~BDMNG ) SUM( RESB~ENMNG  )
              INTO (L_REQUIREQTY,L_ENMNG)
              FROM RESB
              INNER JOIN AFKO ON RESB~RSNUM = AFKO~RSNUM
              WHERE AFKO~AUFNR EQ ZCM03-AUFNR
                AND RESB~XLOEK NE 'X'
*                and resb~alpgr = zcm04tab-alpgr
*                AND RESB~ALPGR = C_ALPGR
                 AND RESB~ALPGR = ZCM04TAB-ZALPGR "Ariel modify 100412
              GROUP BY RESB~ALPGR.
            ENDIF.
            L_REQUIREQTY = L_REQUIREQTY * L_MAXBT / 100.
*            ENDSELECT.
          ELSE.
*"100114 end 1
            L_REQUIREQTY = L_REQUIREQTY * L_MAXBT / 100.
          ENDIF. "Ariel 100114
*          CLEAR L_MPQ.
*          SELECT SINGLE BSTRF INTO L_MPQ FROM MARC WHERE
*          MATNR = ZCM04TAB-MATNR AND WERKS = ZCM04TAB-WERKS.
*******************
****lbg20080918.add.sn
          C_MPQCNT2 = 0.
          L_MPQCNT2 = 0.
          SELECT SINGLE VALUE INTO C_MPQCNT2 FROM ZMM048
          WHERE WERKS = ZCM04TAB-WERKS AND BJECT = 'ISSUEROUND'
    .
          L_MPQCNT2 = C_MPQCNT2.
          IF L_MPQCNT2 > 0.
***lbg20080918.add.en
            L_YINGFA = 0.
            IF L_MPQ > 1."not guizhong
              IF L_QPA < 10."QPA<10 fa 1 mpq
                L_YINGFA = L_MPQ * L_MPQCNT * L_MPQCNT2.
              ELSE."QPA>=10 fa 5 mpq
                L_YINGFA = L_MPQ * 5 * L_MPQCNT * L_MPQCNT2.
              ENDIF.
              IF L_YINGFA < ZCM04TAB-ERFMG.
                C_YINGFA = L_YINGFA.
                L_CNT = 0.
                SELECT COUNT(*) INTO L_CNT FROM CAUFV
                  WHERE AUFNR = ZCM03-AUFNR AND ERDAT >=
    '20080506'.
                IF SY-SUBRC = 0.
                  MESSAGE E000 WITH 'One times only allow issue'
                   C_YINGFA ZCM04TAB-MATNR.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.   "lbg20080918.add.en
******************
          IF L_MPQ > 1.
            F_RESULT = L_REQUIREQTY / L_MPQ .
            I_RESULT = F_RESULT.
*            if f_result > i_result."lbg20080602.edit
            IF ( F_RESULT > I_RESULT OR F_RESULT = I_RESULT ).
              I_RESULT = I_RESULT + 1.
            ENDIF.
            L_REQUIREQTY = I_RESULT * L_MPQ .
*              ELSE.
*                IRESBTAB-BDMNG = F_RESULT * L_MPQ * L_ROUND .
*              ENDIF.
          ENDIF.
*"Ariel add 100209 start
          IF ZCM04TAB-WERKS CS 'PP' AND ZCM04TAB-ERFME = 'EA'.
            L_REQUIREQTY = CEIL( L_REQUIREQTY ).
          ENDIF.
*"Ariel add 100209 end
          L_NOPOSTISSUE = 0.
*"Ariel add 100114 for epd2///100128
          IF L_SGI > 0 AND NOT ZCM04TAB-ZALPGR IS INITIAL.
            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~alpgr = zcm04tab-alpgr
*                AND ZCM04~ALPGR = C_ALPGR
                 AND ZCM04~ZALPGR = ZCM04TAB-ZALPGR
                 AND ZCM04~WERKS = ZCM04TAB-WERKS
                 AND ZCM04~MARKDELETION NE 'X'
                 AND ZCM03~DOCNUMBER NE ZCM03-DOCNUMBER.
          ELSE.

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值