取SAP 与DRP 库存差异
2016-03-23 09:55
344 查看
1. 开始例程 ODSO ZCMMD050 -> ODSO ZCELT078
BREAK-POINT.
DATA: CUSTOMER2 TYPE /BI0/OICUSTOMER.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-CUSTOMER = ''.
DELETE SOURCE_PACKAGE.
ELSE.
call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
exporting
input = <SOURCE_FIELDS>-CUSTOMER
importing
output = CUSTOMER2.
IF CUSTOMER2+0(1) <> '9'.
DELETE SOURCE_PACKAGE.
ENDIF.
ENDIF.
ENDLOOP.
2. 开始例程 ODSO ZCELT058 -> ODSO ZCELT078
BREAK-POINT.
DATA: CUSTOMER2 TYPE /BI0/OICUSTOMER.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-CUSTOMER = ''.
DELETE SOURCE_PACKAGE.
ELSE.
call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
exporting
input = <SOURCE_FIELDS>-CUSTOMER
importing
output = CUSTOMER2.
IF CUSTOMER2+0(1) <> '9'.
DELETE SOURCE_PACKAGE.
ENDIF.
ENDIF.
ENDLOOP.
3 . 结束例程 ODSO ZCELT058 -> ODSO ZCELT078
TYPES: BEGIN OF TY_ZCMMD050,
CALDAY TYPE /BI0/OICALDAY,
/BIC/ZMATERIAL TYPE /BIC/OIZMATERIAL,
CUSTOMER TYPE /BI0/OICUSTOMER,
/BIC/ZGRID TYPE /BIC/OIZGRID,
/BIC/ZCLABS TYPE /BIC/OIZCLABS,
/BIC/ZJXAMOUNT TYPE /BIC/OIZJXAMOUNT,
/BIC/ZNTJAMT TYPE /BIC/OIZNTJAMT,
END OF TY_ZCMMD050.
DATA: LT_ZCMMD050 TYPE STANDARD TABLE OF TY_ZCMMD050,
LS_ZCMMD050 TYPE TY_ZCMMD050,
LT_RESULT TYPE _ty_t_TG_1,
LS_RESULT TYPE _ty_s_TG_1.
LT_RESULT[] = RESULT_PACKAGE[].
CLEAR RESULT_PACKAGE.
LOOP AT LT_RESULT INTO LS_RESULT.
SELECT CALDAY /BIC/ZMATERIAL CUSTOMER /BIC/ZGRID /BIC/ZCLABS
/BIC/ZJXAMOUNT /BIC/ZNTJAMT
INTO CORRESPONDING FIELDS OF TABLE LT_ZCMMD050
FROM /BIC/AZCMMD05000
WHERE CALDAY = LS_RESULT-CALDAY
AND /BIC/ZMATERIAL = LS_RESULT-/BIC/ZMATERIAL
AND CUSTOMER = LS_RESULT-CUSTOMER
AND /BIC/ZGRID = LS_RESULT-/BIC/ZGRID.
IF SY-SUBRC = 0.
LOOP AT LT_ZCMMD050 INTO LS_ZCMMD050.
IF LS_RESULT-/BIC/ZESTNOW <> LS_ZCMMD050-/BIC/ZCLABS.
LS_RESULT-/BIC/ZCLABS = LS_ZCMMD050-/BIC/ZCLABS.
LS_RESULT-/BIC/ZJXAMOUNT = LS_ZCMMD050-/BIC/ZJXAMOUNT.
LS_RESULT-/BIC/ZNTJ_SUM = LS_ZCMMD050-/BIC/ZNTJAMT.
ENDIF.
ENDLOOP.
ELSE.
LS_RESULT-/BIC/ZCLABS = 0.
LS_RESULT-/BIC/ZJXAMOUNT = 0.
LS_RESULT-/BIC/ZNTJ_SUM = 0.
ENDIF.
APPEND LS_RESULT TO RESULT_PACKAGE.
ENDLOOP.
结束例程
BREAK-POINT.
TYPES: BEGIN OF TY_ZCELT058,
CALDAY TYPE /BI0/OICALDAY,
/BIC/ZMATERIAL TYPE /BIC/OIZMATERIAL,
CUSTOMER TYPE /BI0/OICUSTOMER,
/BIC/ZGRID TYPE /BIC/OIZGRID,
/BIC/ZESTNOW TYPE /BIC/OIZESTNOW,
/BIC/ZJXAMOUNT TYPE /BIC/OIZJXAMOUNT,
/BIC/ZNTJAMT TYPE /BIC/OIZNTJAMT,
END OF TY_ZCELT058.
*
DATA: LT_ZCELT058 TYPE STANDARD TABLE OF TY_ZCELT058,
LS_ZCELT058 TYPE TY_ZCELT058,
LT_RESULT TYPE _ty_t_TG_1,
LS_RESULT TYPE _ty_s_TG_1.
*
LT_RESULT[] = RESULT_PACKAGE[].
CLEAR RESULT_PACKAGE.
*
LOOP AT LT_RESULT INTO LS_RESULT.
SELECT CALDAY /BIC/ZMATERIAL CUSTOMER /BIC/ZGRID /BIC/ZESTNOW
/BIC/ZJXAMOUNT /BIC/ZNTJAMT
INTO CORRESPONDING FIELDS OF TABLE LT_ZCELT058
FROM /BIC/AZCELT05800
WHERE CALDAY = LS_RESULT-CALDAY
AND /BIC/ZMATERIAL = LS_RESULT-/BIC/ZMATERIAL
AND CUSTOMER = LS_RESULT-CUSTOMER
AND /BIC/ZGRID = LS_RESULT-/BIC/ZGRID.
IF SY-SUBRC = 0.
* LOOP AT LT_ZCELT058 INTO LS_ZCELT058.
* IF LS_RESULT-/BIC/ZCLABS <> LS_ZCELT058-/BIC/ZESTNOW.
* LS_RESULT-/BIC/ZESTNOW = LS_ZCELT058-/BIC/ZESTNOW.
* LS_RESULT-/BIC/ZELTJXJ = LS_ZCELT058-/BIC/ZJXAMOUNT.
* LS_RESULT-/BIC/ZELTNTJ = LS_ZCELT058-/BIC/ZNTJAMT.
ELSE.
LS_RESULT-/BIC/ZESTNOW = 0.
LS_RESULT-/BIC/ZELTJXJ = 0.
LS_RESULT-/BIC/ZELTNTJ = 0.
APPEND LS_RESULT TO RESULT_PACKAGE.
ENDIF.
* ENDLOOP.
* ENDIF.
ENDLOOP.
BREAK-POINT.
DATA: CUSTOMER2 TYPE /BI0/OICUSTOMER.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-CUSTOMER = ''.
DELETE SOURCE_PACKAGE.
ELSE.
call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
exporting
input = <SOURCE_FIELDS>-CUSTOMER
importing
output = CUSTOMER2.
IF CUSTOMER2+0(1) <> '9'.
DELETE SOURCE_PACKAGE.
ENDIF.
ENDIF.
ENDLOOP.
2. 开始例程 ODSO ZCELT058 -> ODSO ZCELT078
BREAK-POINT.
DATA: CUSTOMER2 TYPE /BI0/OICUSTOMER.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-CUSTOMER = ''.
DELETE SOURCE_PACKAGE.
ELSE.
call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
exporting
input = <SOURCE_FIELDS>-CUSTOMER
importing
output = CUSTOMER2.
IF CUSTOMER2+0(1) <> '9'.
DELETE SOURCE_PACKAGE.
ENDIF.
ENDIF.
ENDLOOP.
3 . 结束例程 ODSO ZCELT058 -> ODSO ZCELT078
TYPES: BEGIN OF TY_ZCMMD050,
CALDAY TYPE /BI0/OICALDAY,
/BIC/ZMATERIAL TYPE /BIC/OIZMATERIAL,
CUSTOMER TYPE /BI0/OICUSTOMER,
/BIC/ZGRID TYPE /BIC/OIZGRID,
/BIC/ZCLABS TYPE /BIC/OIZCLABS,
/BIC/ZJXAMOUNT TYPE /BIC/OIZJXAMOUNT,
/BIC/ZNTJAMT TYPE /BIC/OIZNTJAMT,
END OF TY_ZCMMD050.
DATA: LT_ZCMMD050 TYPE STANDARD TABLE OF TY_ZCMMD050,
LS_ZCMMD050 TYPE TY_ZCMMD050,
LT_RESULT TYPE _ty_t_TG_1,
LS_RESULT TYPE _ty_s_TG_1.
LT_RESULT[] = RESULT_PACKAGE[].
CLEAR RESULT_PACKAGE.
LOOP AT LT_RESULT INTO LS_RESULT.
SELECT CALDAY /BIC/ZMATERIAL CUSTOMER /BIC/ZGRID /BIC/ZCLABS
/BIC/ZJXAMOUNT /BIC/ZNTJAMT
INTO CORRESPONDING FIELDS OF TABLE LT_ZCMMD050
FROM /BIC/AZCMMD05000
WHERE CALDAY = LS_RESULT-CALDAY
AND /BIC/ZMATERIAL = LS_RESULT-/BIC/ZMATERIAL
AND CUSTOMER = LS_RESULT-CUSTOMER
AND /BIC/ZGRID = LS_RESULT-/BIC/ZGRID.
IF SY-SUBRC = 0.
LOOP AT LT_ZCMMD050 INTO LS_ZCMMD050.
IF LS_RESULT-/BIC/ZESTNOW <> LS_ZCMMD050-/BIC/ZCLABS.
LS_RESULT-/BIC/ZCLABS = LS_ZCMMD050-/BIC/ZCLABS.
LS_RESULT-/BIC/ZJXAMOUNT = LS_ZCMMD050-/BIC/ZJXAMOUNT.
LS_RESULT-/BIC/ZNTJ_SUM = LS_ZCMMD050-/BIC/ZNTJAMT.
ENDIF.
ENDLOOP.
ELSE.
LS_RESULT-/BIC/ZCLABS = 0.
LS_RESULT-/BIC/ZJXAMOUNT = 0.
LS_RESULT-/BIC/ZNTJ_SUM = 0.
ENDIF.
APPEND LS_RESULT TO RESULT_PACKAGE.
ENDLOOP.
结束例程
BREAK-POINT.
TYPES: BEGIN OF TY_ZCELT058,
CALDAY TYPE /BI0/OICALDAY,
/BIC/ZMATERIAL TYPE /BIC/OIZMATERIAL,
CUSTOMER TYPE /BI0/OICUSTOMER,
/BIC/ZGRID TYPE /BIC/OIZGRID,
/BIC/ZESTNOW TYPE /BIC/OIZESTNOW,
/BIC/ZJXAMOUNT TYPE /BIC/OIZJXAMOUNT,
/BIC/ZNTJAMT TYPE /BIC/OIZNTJAMT,
END OF TY_ZCELT058.
*
DATA: LT_ZCELT058 TYPE STANDARD TABLE OF TY_ZCELT058,
LS_ZCELT058 TYPE TY_ZCELT058,
LT_RESULT TYPE _ty_t_TG_1,
LS_RESULT TYPE _ty_s_TG_1.
*
LT_RESULT[] = RESULT_PACKAGE[].
CLEAR RESULT_PACKAGE.
*
LOOP AT LT_RESULT INTO LS_RESULT.
SELECT CALDAY /BIC/ZMATERIAL CUSTOMER /BIC/ZGRID /BIC/ZESTNOW
/BIC/ZJXAMOUNT /BIC/ZNTJAMT
INTO CORRESPONDING FIELDS OF TABLE LT_ZCELT058
FROM /BIC/AZCELT05800
WHERE CALDAY = LS_RESULT-CALDAY
AND /BIC/ZMATERIAL = LS_RESULT-/BIC/ZMATERIAL
AND CUSTOMER = LS_RESULT-CUSTOMER
AND /BIC/ZGRID = LS_RESULT-/BIC/ZGRID.
IF SY-SUBRC = 0.
* LOOP AT LT_ZCELT058 INTO LS_ZCELT058.
* IF LS_RESULT-/BIC/ZCLABS <> LS_ZCELT058-/BIC/ZESTNOW.
* LS_RESULT-/BIC/ZESTNOW = LS_ZCELT058-/BIC/ZESTNOW.
* LS_RESULT-/BIC/ZELTJXJ = LS_ZCELT058-/BIC/ZJXAMOUNT.
* LS_RESULT-/BIC/ZELTNTJ = LS_ZCELT058-/BIC/ZNTJAMT.
ELSE.
LS_RESULT-/BIC/ZESTNOW = 0.
LS_RESULT-/BIC/ZELTJXJ = 0.
LS_RESULT-/BIC/ZELTNTJ = 0.
APPEND LS_RESULT TO RESULT_PACKAGE.
ENDIF.
* ENDLOOP.
* ENDIF.
ENDLOOP.
相关文章推荐
- problem A
- Qt中的.qrc文件
- Docker之常用命令
- Spark性能调优
- jquery 插件treeTable使用
- spring自动创建代理类DefaultAdvisorAutoProxyCreator和BeanNameAutoProxyCreator的声明顺序
- CPU调度准则
- JS出现illegal character非法字符提示
- Androidstudio代码混淆
- 人脸对齐ASM-AAM-CLM的一些总结
- JMS------ActiveMQ
- ElasticSearch入门-增删改查(java api)
- 问题 B: 结构体---职工信息结构体
- 创业公司必备的5款团队协作工具
- ElasticSearch入门-增删改查(java api)
- [转]Kindle 推送教程:教你用电子邮箱推送电子书
- dubbo 2.5.4-SNAPSHOT dubbo-admin 报错
- matlab 读取txt文件数据
- 修改表中字段名称
- No space left on device