*Echo 20090806 add check valuation type.bn
CASE ZCM03-DOCTYPE.
WHEN '1' OR '2' OR 'A' OR 'H'.
IF ZCM03-ENMNG IS INITIAL.
RESBTAB-ERFMG = 0.
ELSE.
RESBTAB-ERFMG = CEIL( RESB-BDMNG / PLAF-GSMNG
* ZCM03-ENMNG ).
ENDIF.
ENDCASE.
COLLECT RESBTAB.
ENDSELECT.
ELSE.
SELECT MATNR WERKS LGORT BDMNG ENMNG MEINS CHARG
RSNUM RSPOS ALPOS SHKZG
INTO CORRESPONDING FIELDS OF RESB
FROM RESB WHERE RSNUM EQ AFKO-RSNUM
AND XLOEK NE 'X' AND RGEKZ NE 'X'
AND SCHGT NE 'X' AND DUMPS NE 'X'
AND XWAOK EQ 'X'.
IF RESB-WERKS CS 'PD' AND RESB-BDMNG = 0.
CONTINUE.
ENDIF.
IF ZCM03-DOCTYPE <> 'H'.
*kelly 20100420 modify .sn
IF ( RESB-WERKS = 'PSK1' OR RESB-WERKS = 'PSC2' ).
IF ZCM03-DOCTYPE <> '2'.
IF RESB-BDMNG = 0 AND RESB-ALPOS <> 'X'.
CONTINUE.
ENDIF.
ELSE.
IF RESB-ENMNG = 0.
CONTINUE.
ENDIF.
ENDIF.
ELSE. "non npd plant
IF RESB-BDMNG = 0 AND RESB-ALPOS <> 'X'.
CONTINUE.
ENDIF.
ENDIF.
*kelly 20100420 modify .en
ENDIF.
SELECT MARC~SOBSL ZPCEMM002~GROUPCODE
INTO (L_SOBSL,L_MRPGRP)
FROM MARC
INNER JOIN ZPCEMM002 ON ZPCEMM002~GROUPVALUE =
MARC~DISPO
AND ZPCEMM002~WERKS =
MARC~WERKS
"JL080221.
WHERE MARC~MATNR EQ RESB-MATNR
AND MARC~WERKS EQ RESB-WERKS.
EXIT.
ENDSELECT.
* CHECK SY-SUBRC EQ 0 AND L_SOBSL NE '50'
* AND RESB-BDMNG > 0 AND L_MRPGRP EQ G_MRPGRP .
CHECK SY-SUBRC EQ 0 AND L_MRPGRP EQ G_MRPGRP.
"changed by liuchun
RESBTAB-MATNR = RESB-MATNR.
RESBTAB-WERKS = RESB-WERKS.
RESBTAB-LGORT = RESB-LGORT.
RESBTAB-CHARG = RESB-CHARG.
RESBTAB-MEINS = RESB-MEINS.
RESBTAB-RSNUM = RESB-RSNUM.
RESBTAB-RSPOS = RESB-RSPOS.
RESBTAB-SHKZG = RESB-SHKZG.
RESBTAB-ZALPGR = RESB-ALPGR. "Ariel add 100416
RESBTAB-ENMNG = RESB-ENMNG."Add for H 100424
*Echo 20090806 add check valuation type.bn
*Ariel add batch is blank not get val_type
IF RESBTAB-CHARG EQ SPACE.
CALL FUNCTION 'ZRFC_MM_PCE_0054'
EXPORTING
PLANT = RESBTAB-WERKS
PARTNO = RESBTAB-MATNR
SLOC = RESBTAB-LGORT
IMPORTING
ECODE = L_ECODE
VALUATION_TYPE = L_CHARG.
IF L_ECODE = 0.
RESBTAB-CHARG = L_CHARG.
ENDIF.
CLEAR L_CHARG.
ENDIF.
*Echo 20090806 add check valuation type.en
CASE ZCM03-DOCTYPE.
WHEN '1' OR 'A'.
IF ZCM03-ENMNG IS INITIAL.
RESBTAB-ERFMG = 0.
ELSE.
RESBTAB-ERFMG = CEIL( RESB-BDMNG / AFKO-GAMNG
* ZCM03-ENMNG ).
ENDIF.
ENDCASE.
COLLECT RESBTAB.
ENDSELECT.
ENDIF.
ELSEIF G_SLOC = 'C' . " By MRP controller
G_MRPCTRL = ZPCEMM002-GROUPVALUE.
IF AFKO-GAMNG IS INITIAL .
SELECT MATNR WERKS LGORT BDMNG ENMNG MEINS CHARG REVLV
RSNUM RSPOS ALPOS SHKZG
INTO CORRESPONDING FIELDS OF RESB
FROM RESB
WHERE RSNUM EQ PLAF-RSNUM
AND PLNUM EQ PLAF-PLNUM
AND DUMPS NE 'X' AND XLOEK NE 'X'
AND SCHGT NE 'X' AND XWAOK EQ 'X'
AND RGEKZ NE 'X'.
IF RESB-WERKS CS 'PD' AND RESB-BDMNG = 0.
CONTINUE.
ENDIF.
IF ZCM03-DOCTYPE <> 'H'.
*kelly 20100420 modify .sn
IF ( RESB-WERKS = 'PSK1' OR RESB-WERKS = 'PSC2' ).
IF ZCM03-DOCTYPE <> '2'.
IF RESB-BDMNG = 0 AND RESB-ALPOS <> 'X'.
CONTINUE.
ENDIF.
ELSE.
IF RESB-ENMNG = 0.
CONTINUE.
ENDIF.
ENDIF.
ELSE. "non npd plant
IF RESB-BDMNG = 0 AND RESB-ALPOS <> 'X'.
CONTINUE.
ENDIF.
ENDIF.
*kelly 20100420 modify .en
ENDIF.
SELECT SOBSL DISPO
INTO (L_SOBSL, L_DISPO)
FROM MARC
WHERE MATNR EQ RESB-MATNR
AND WERKS EQ RESB-WERKS.
EXIT.
ENDSELECT.
* CHECK SY-SUBRC EQ 0 AND L_SOBSL NE '50'
* AND RESB-BDMNG > 0 AND L_DISPO EQ G_MRPCTRL.
CHECK SY-SUBRC EQ 0 AND L_DISPO EQ G_MRPCTRL.
"changed by liuchun
RESBTAB-MATNR = RESB-MATNR.
RESBTAB-WERKS = RESB-WERKS.
RESBTAB-LGORT = RESB-LGORT.
RESBTAB-CHARG = RESB-REVLV.
RESBTAB-MEINS = RESB-MEINS.
RESBTAB-RSNUM = RESB-RSNUM.
RESBTAB-RSPOS = RESB-RSPOS.
RESBTAB-SHKZG = RESB-SHKZG.
RESBTAB-ZALPGR = RESB-ALPGR. "Ariel add 100416
RESBTAB-ENMNG = RESB-ENMNG."Add for H 100424
*Echo 20090806 add check valuation type.bn
*Ariel add batch is blank not get val_type
IF RESBTAB-CHARG EQ SPACE.
CALL FUNCTION 'ZRFC_MM_PCE_0054'
EXPORTING
PLANT = RESBTAB-WERKS
PARTNO = RESBTAB-MATNR
SLOC = RESBTAB-LGORT
IMPORTING
ECODE = L_ECODE
VALUATION_TYPE = L_CHARG.
IF L_ECODE = 0.
RESBTAB-CHARG = L_CHARG.
ENDIF.
CLEAR L_CHARG.
ENDIF.
*Echo 20090806 add check valuation type.en
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14397246/viewspace-666172/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14397246/viewspace-666172/