ITAB是原始數據表
ITAB2是中轉表
ITAB3是最後結果表
DATA: BEGIN OF ITAB OCCURS 0,
COL1 TYPE I,
COL2 TYPE I,
COL3 TYPE I,
FLAG TYPE CHAR1,
END OF ITAB.
ITAB-COL1 = 1.
ITAB-COL2 = 2 .
ITAB-COL3 = 3.
APPEND ITAB.
ITAB-COL1 = 1.
ITAB-COL2 = 2 .
ITAB-COL3 = 4.
APPEND ITAB.
ITAB-COL1 = 1.
ITAB-COL2 = 2 .
ITAB-COL3 = 5.
APPEND ITAB.
ITAB-COL1 = 1.
ITAB-COL2 = 2 .
ITAB-COL3 = 5.
APPEND ITAB.
ITAB-COL1 = 3.
ITAB-COL2 = 2 .
ITAB-COL3 = 3.
APPEND ITAB.
DATA: ITAB2 LIKE TABLE OF ITAB WITH HEADER LINE.
DATA: ITAB3 LIKE TABLE OF ITAB WITH HEADER LINE.
LOOP AT ITAB.
READ TABLE ITAB2 WITH KEY COL1 = ITAB-COL1 COL2 = ITAB-COL2.
IF SY-SUBRC <> 0.
APPEND ITAB TO ITAB2.
ELSE.
APPEND ITAB TO ITAB3.
READ TABLE ITAB3 WITH KEY COL1 = ITAB-COL1 COL2 = ITAB-COL2 FLAG = 'X'.
IF SY-SUBRC <> 0.
ITAB2-FLAG = 'X'.
APPEND ITAB2 TO ITAB3.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT ITAB3.
WRITE:/ ITAB3-COL1, ITAB3-COL2, ITAB3-COL3.
ENDLOOP.