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

Re: issue regarding collect statement

$
0
0

Hi Prakash,

               Please check out the below code and execute it.

 

TYPES: BEGIN OF TY_CODE,

        CODE TYPE C LENGTH 22,

        WORK TYPE C LENGTH 22,

        UNIT(2) TYPE C,

        QUAN TYPE I,

        RATE TYPE I,

      END OF TY_CODE.

 

 

 

 

 

DATA : WA_FINAL1 TYPE TY_CODE,

       IT_FINAL1 TYPE TABLE OF TY_CODE,

 

 

 

       IT_FINAL2 LIKE IT_FINAL1,

       WA_FINAL2 LIKE WA_FINAL1,

 

       IT_FINAL3 LIKE IT_FINAL1,

       WA_FINAL3 LIKE WA_FINAL1.

 

 

 

WA_FINAL1-CODE = '200021'.

WA_FINAL1-WORK = 'SHUTTERING'.

WA_FINAL1-UNIT = 'M2'.

WA_FINAL1-QUAN = '100'.

WA_FINAL1-RATE =  '150'.

 

 

 

APPEND WA_FINAL1 TO IT_FINAL1.

CLEAR WA_FINAL1.

 

 

 

WA_FINAL1-CODE = '200021'.

WA_FINAL1-WORK = 'SHUTTERING'.

WA_FINAL1-UNIT = 'M2'.

WA_FINAL1-QUAN = '100'.

WA_FINAL1-RATE =  '120'.

 

 

 

APPEND WA_FINAL1 TO IT_FINAL1.

CLEAR WA_FINAL1.

 

 

 

WA_FINAL1-CODE = '200022'.

WA_FINAL1-WORK = 'PCC'.

WA_FINAL1-UNIT = 'M3'.

WA_FINAL1-QUAN = '90'.

WA_FINAL1-RATE =  '200'.

 

 

 

APPEND WA_FINAL1 TO IT_FINAL1.

CLEAR WA_FINAL1.

 

WA_FINAL1-CODE = '200022'.

WA_FINAL1-WORK = 'PCC'.

WA_FINAL1-UNIT = 'M3'.

WA_FINAL1-QUAN = '90'.

WA_FINAL1-RATE =  '200'.

 

 

 

APPEND WA_FINAL1 TO IT_FINAL1.

CLEAR WA_FINAL1.

 

 

 

 

 

LOOP AT IT_FINAL1 INTO WA_FINAL1.

 

 

 

MOVE-CORRESPONDING WA_FINAL1 TO WA_FINAL2.

 

APPEND WA_FINAL2 TO IT_FINAL2.

 

 

 

ENDLOOP.

 

 

 

SORT IT_FINAL2 BY CODE WORK UNIT QUAN RATE.

 

 

 

DELETE ADJACENT DUPLICATES FROM IT_FINAL2 COMPARING ALL FIELDS.

 

 

 

LOOP AT IT_FINAL2 INTO WA_FINAL2.

 

    LOOP AT IT_FINAL1 INTO WA_FINAL1 WHERE CODE = WA_FINAL2-CODE

                                                                  AND WORK = WA_FINAL2-WORK              

                                                                  AND UNIT = WA_FINAL2-UNIT

                                                                  AND QUAN = WA_FINAL2-QUAN

                                                                  AND RATE = WA_FINAL2-RATE.

      WA_FINAL3-CODE  = WA_FINAL1-CODE.

      WA_FINAL3-WORK = WA_FINAL1-WORK.

      WA_FINAL3-UNIT    = WA_FINAL1-UNIT.

      WA_FINAL3-QUAN  = WA_FINAL3-QUAN + WA_FINAL1-QUAN.

      WA_FINAL3-RATE   = WA_FINAL3-RATE + WA_FINAL1-RATE.

      CLEAR WA_FINAL1.

    ENDLOOP.

 

    IF NOT WA_FINAL3 IS INITIAL.

       APPEND WA_FINAL3 TO IT_FINAL3.

       CLEAR WA_FINAL3.

    ENDIF.

 

    CLEAR WA_FINAL2.

 

ENDLOOP.

 

 

 

LOOP AT IT_FINAL3 INTO WA_FINAL3.

 

WRITE : / WA_FINAL3-CODE,WA_FINAL3-WORK,WA_FINAL3-UNIT,

                WA_FINAL3-QUAN,WA_FINAL3-RATE.

 

ENDLOOP.

 

Regards,

Lavanya


Viewing all articles
Browse latest Browse all 8573

Trending Articles



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