*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/