Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 2807

Re: End Routine in Transformation

$
0
0

Hello Rudi,

 

use either of below approach...

 

APPROACH--> 1

 

FIELD-SYMBOLS:<RESULT_FIELDS_1>    TYPE _ty_s_TG_1.

 

data: IT_RESULT_PACKAGE TYPE STNADARD TABLE OF _ty_s_TG_1,

      lv_index type sy-index.

 

IT_RESULT_PACKAGE[] = RESULT_PACKAGE[].

 

DELETE RESULT_PACKAGE WHERE stkeyfig = 'cs149' .

DELETE RESULT_PACKAGE WHERE stkeyfig = 'cs158' .

 

DELETE IT_RESULT_PACKAGE WHERE stkeyfig <> 'cs149'

                            OR stkeyfig <> 'cs158'.

SORT it_result_package by CREDITOR MATERIAL acending STKEYFIG decending.

 

lv_index = 0.

LOOP AT it_result_package ASSIGNING <result_fields> FROM lv_index

                          WHERE     <result_fields>-stkeyfig = 'CS158' .

   lv_index =  sy-index + 1 .

    LOOP AT it_result_package ASSIGNING <result_fields_1> FROM lv_index.

         IF <result_fields_1>-stkeyfig = 'CS149'                  AND

            <result_fields_1>-CREDITOR = <result_fields>-CREDITOR AND

            <result_fields_1>-MATERIAL = <result_fields>-MATERIAL.

            <result_fields_1>-VALUE_LC = <result_fields>-VALUE_LC .

         ELSE.

             <result_fields_1>-VALUE_LC = 0.

             exit.

         ENDIF.

    ENDLOOP. 

  lv_index = sy_index.

ENDLOOP.

 

APEEND LINES OF it_result_package TO table RESULT_PACKAGE.

CLEAR : it_result_package.

----------------------------------------------------------------------------

APPROACH--> 2

 

DATA : RESULT_PACKAGE_CS149  TYPE STNADARD TABLE OF _ty_s_TG_1,

       RESULT_PACKAGE_CS158  TYPE STNADARD TABLE OF _ty_s_TG_1.

FIELD-SYMBOLS:<RESULT_FIELDS_CS149> TYPE _ty_s_TG_1,

              <RESULT_FIELDS_CS158> TYPE _ty_s_TG_1.

 

 

IT_RESULT_PACKAGE_CS149[] = RESULT_PACKAGE[].

IT_RESULT_PACKAGE_CS158[] = RESULT_PACKAGE[].

DELETE RESULT_PACKAGE WHERE stkeyfig = 'cs149'.

DELETE RESULT_PACKAGE WHERE stkeyfig = 'cs158'.

 

 

DELETE RESULT_PACKAGE_CS149 WHERE stkeyfig <> 'cs149'.

DELETE RESULT_PACKAGE_CS158 WHERE stkeyfig <> 'cs158'.

SORT RESULT_PACKAGE_CS158 BY CREDITOR MATERIAL. 

 

LOOP AT RESULT_PACKAGE_CS149  ASSIGNING <RESULT_FIELDS_CS149>.

READ TABLE RESULT_PACKAGE_CS158 ASSIGNING <RESULT_FIELDS_CS158>

                     WITH KEY <RESULT_FIELDS_CS158>-CREDITOR = <RESULT_FIELDS_CS149>-CREDITOR

       <RESULT_FIELDS_CS158>-MATERIAL = <RESULT_FIELDS_CS149>-MATERIAL  BINARY SEARCH.

  IF sy-subrc = 0 .

     <RESULT_FIELDS_CS149>-VALUE_LC = <RESULT_FIELDS_CS158>-VALUE_LC.

  ENDIF.

ENDLOOP.

 

 

APPEND LINES OF RESULT_PACKAGE_CS149 TO RESULT_PACKAGE.

APPEND LINES OF RESULT_PACKAGE_CS149 TO RESULT_PACKAGE.

FREE: RESULT_PACKAGE_CS149[] , RESULT_PACKAGE_CS158[].

----------------------------------------------------------------------------------------------------------------

NOTE: For either approch u need to set Semantic grouping @ DTP Level on Fields : CREDITOR & MATERIAL.

 

for approach 2 u may required nothing to change.. but i will suggest approach 1 for performance (may require little chnages).....

 

Regards,

Hitesh


Viewing all articles
Browse latest Browse all 2807

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>