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