您的位置:首页 > 其它

取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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: