SYDATUM
= L31_SYDATUM
-
31
.
REFRESH :LT_ZIELT005 ,LT_ZCELT002 .
" DRP 库存明细
SELECT
/BIC/ZWAREHS
/BIC/ZMATERIAL
/BIC/ZGRID
MAX ( /BIC/ZEIOCDT )
INTO TABLE LT_ZIELT005
FROM /BIC/AZIELT00500
WHERE /BIC/ZUPT_BY = 'DRP'
AND /BIC/ZETYPE = 'R' "入库
GROUP BY /BIC/ZWAREHS
/BIC/ZMATERIAL
/BIC/ZGRID .
SORT LT_ZIELT005 BY /BIC/ZWAREHS
/BIC/ZMATERIAL
/BIC/ZGRID .
DELETE ADJACENT DUPLICATES FROM LT_ZIELT005 COMPARING /BIC/ZWAREHS
/BIC/ZMATERIAL
/BIC/ZGRID .
"DRP Z终端零售
SELECT
/BIC/ZSTORE
/BIC/ZMATERIAL
/BIC/ZGRID
MAX ( /BIC/ZBUSDE )
INTO TABLE LT_ZCELT002
FROM /BIC/AZCELT00200
WHERE /BIC/ZMEMO = 'DRP'
GROUP BY /BIC/ZSTORE
/BIC/ZMATERIAL
/BIC/ZGRID .
SORT LT_ZCELT002 BY /BIC/ZSTORE
/BIC/ZMATERIAL
/BIC/ZGRID .
DELETE ADJACENT DUPLICATES FROM LT_ZCELT002 COMPARING /BIC/ZSTORE
/BIC/ZMATERIAL
/BIC/ZGRID .
LOOP AT RESULT_PACKAGE ASSIGNING <RESULT_FIELDS> .
CLEAR LS_ZIELT005 .
READ TABLE LT_ZIELT005 INTO LS_ZIELT005 WITH KEY
/BIC/ZWAREHS = <RESULT_FIELDS> -/BIC/ZWAREHS
/BIC/ZMATERIAL = <RESULT_FIELDS> -/BIC/ZMATERIAL
/BIC/ZGRID = <RESULT_FIELDS> -/BIC/ZGRID BINARY SEARCH .
IF SY -SUBRC = 0 .
"当前日期 - 最近一次入库日期 >= 30 保留记录
IF L31_SYDATUM - LS_ZIELT005 -/BIC/ZEIOCDT >= 31 .
<RESULT_FIELDS> -/BIC/ZIN_DATE = LS_ZIELT005 -/BIC/ZEIOCDT .
CLEAR LS_ZCELT002 .
READ TABLE LT_ZCELT002 INTO LS_ZCELT002 WITH KEY
/BIC/ZSTORE = <RESULT_FIELDS> -/BIC/ZSTORE
/BIC/ZMATERIAL = <RESULT_FIELDS> -/BIC/ZMATERIAL
/BIC/ZGRID = <RESULT_FIELDS> -/BIC/ZGRID BINARY SEARCH .
IF SY -SUBRC = 0 .
"当前日期 - 最近一次销售日期 >= 30 保留记录
IF L31_SYDATUM - LS_ZCELT002 -/BIC/ZBUSDE >= 30 .
<RESULT_FIELDS> -/BIC/ZDPZHXSRQ =
LS_ZCELT002 -/BIC/ZBUSDE .
ELSE .
DELETE RESULT_PACKAGE .
ENDIF .
ENDIF .
ELSE .
DELETE RESULT_PACKAGE .
ENDIF .
ELSE . "期初入库的时候是做调拨单
CLEAR LS_ZCELT002 .
READ TABLE LT_ZCELT002 INTO LS_ZCELT002 WITH KEY
/BIC/ZSTORE = <RESULT_FIELDS> -/BIC/ZSTORE
/BIC/ZMATERIAL = <RESULT_FIELDS> -/BIC/ZMATERIAL
/BIC/ZGRID = <RESULT_FIELDS> -/BIC/ZGRID BINARY SEARCH .
IF SY -SUBRC = 0 .
"当前日期 - 最近一次销售日期 >= 30 保留记录
IF L31_SYDATUM - LS_ZCELT002 -/BIC/ZBUSDE >= 30 .
<RESULT_FIELDS> -/BIC/ZDPZHXSRQ =
LS_ZCELT002 -/BIC/ZBUSDE .
ELSE .
DELETE RESULT_PACKAGE .
ENDIF .
ENDIF .
ENDIF .
ENDLOOP .
REFRESH :LT_ZIELT005 ,LT_ZCELT002 .
" DRP 库存明细
SELECT
/BIC/ZWAREHS
/BIC/ZMATERIAL
/BIC/ZGRID
MAX ( /BIC/ZEIOCDT )
INTO TABLE LT_ZIELT005
FROM /BIC/AZIELT00500
WHERE /BIC/ZUPT_BY = 'DRP'
AND /BIC/ZETYPE = 'R' "入库
GROUP BY /BIC/ZWAREHS
/BIC/ZMATERIAL
/BIC/ZGRID .
SORT LT_ZIELT005 BY /BIC/ZWAREHS
/BIC/ZMATERIAL
/BIC/ZGRID .
DELETE ADJACENT DUPLICATES FROM LT_ZIELT005 COMPARING /BIC/ZWAREHS
/BIC/ZMATERIAL
/BIC/ZGRID .
"DRP Z终端零售
SELECT
/BIC/ZSTORE
/BIC/ZMATERIAL
/BIC/ZGRID
MAX ( /BIC/ZBUSDE )
INTO TABLE LT_ZCELT002
FROM /BIC/AZCELT00200
WHERE /BIC/ZMEMO = 'DRP'
GROUP BY /BIC/ZSTORE
/BIC/ZMATERIAL
/BIC/ZGRID .
SORT LT_ZCELT002 BY /BIC/ZSTORE
/BIC/ZMATERIAL
/BIC/ZGRID .
DELETE ADJACENT DUPLICATES FROM LT_ZCELT002 COMPARING /BIC/ZSTORE
/BIC/ZMATERIAL
/BIC/ZGRID .
LOOP AT RESULT_PACKAGE ASSIGNING <RESULT_FIELDS> .
CLEAR LS_ZIELT005 .
READ TABLE LT_ZIELT005 INTO LS_ZIELT005 WITH KEY
/BIC/ZWAREHS = <RESULT_FIELDS> -/BIC/ZWAREHS
/BIC/ZMATERIAL = <RESULT_FIELDS> -/BIC/ZMATERIAL
/BIC/ZGRID = <RESULT_FIELDS> -/BIC/ZGRID BINARY SEARCH .
IF SY -SUBRC = 0 .
"当前日期 - 最近一次入库日期 >= 30 保留记录
IF L31_SYDATUM - LS_ZIELT005 -/BIC/ZEIOCDT >= 31 .
<RESULT_FIELDS> -/BIC/ZIN_DATE = LS_ZIELT005 -/BIC/ZEIOCDT .
CLEAR LS_ZCELT002 .
READ TABLE LT_ZCELT002 INTO LS_ZCELT002 WITH KEY
/BIC/ZSTORE = <RESULT_FIELDS> -/BIC/ZSTORE
/BIC/ZMATERIAL = <RESULT_FIELDS> -/BIC/ZMATERIAL
/BIC/ZGRID = <RESULT_FIELDS> -/BIC/ZGRID BINARY SEARCH .
IF SY -SUBRC = 0 .
"当前日期 - 最近一次销售日期 >= 30 保留记录
IF L31_SYDATUM - LS_ZCELT002 -/BIC/ZBUSDE >= 30 .
<RESULT_FIELDS> -/BIC/ZDPZHXSRQ =
LS_ZCELT002 -/BIC/ZBUSDE .
ELSE .
DELETE RESULT_PACKAGE .
ENDIF .
ENDIF .
ELSE .
DELETE RESULT_PACKAGE .
ENDIF .
ELSE . "期初入库的时候是做调拨单
CLEAR LS_ZCELT002 .
READ TABLE LT_ZCELT002 INTO LS_ZCELT002 WITH KEY
/BIC/ZSTORE = <RESULT_FIELDS> -/BIC/ZSTORE
/BIC/ZMATERIAL = <RESULT_FIELDS> -/BIC/ZMATERIAL
/BIC/ZGRID = <RESULT_FIELDS> -/BIC/ZGRID BINARY SEARCH .
IF SY -SUBRC = 0 .
"当前日期 - 最近一次销售日期 >= 30 保留记录
IF L31_SYDATUM - LS_ZCELT002 -/BIC/ZBUSDE >= 30 .
<RESULT_FIELDS> -/BIC/ZDPZHXSRQ =
LS_ZCELT002 -/BIC/ZBUSDE .
ELSE .
DELETE RESULT_PACKAGE .
ENDIF .
ENDIF .
ENDIF .
ENDLOOP .