各アイテムには、固有の SecondNo + Drawing の組み合わせが必要です。入力ミスにより、一部の組み合わせは 2 回あります。
これらの組み合わせを識別し、他の組み合わせを反映しないレポートを ABAP で作成する必要があります。
Item: SecNo: Drawing:
121 904 5000 double
122 904 5000 double
123 816 5100
124 813 5200
125 812 4900 double
126 812 4900 double
127 814 5300
どうすればこれを解決できますか? 私は2つのアプローチを試みましたが失敗しました:
データを並べ替えて、上の行の値が次の値と等しい場合にそれぞれを印刷しようとしました
重複を数え、1 つ以上のものをすべて表示します。
条件はどこに入れるのですか?ループエリアで?
私はこれを試しました:
REPORT duplicates.
DATA: BEGIN OF lt_duplicates OCCURS 0,
f2(10),
f3(10),
END OF lt_duplicates,
it_test TYPE TABLE OF ztest WITH HEADER LINE,
i TYPE i.
SELECT DISTINCT f2 f3 FROM ztest INTO TABLE lt_duplicates.
LOOP AT lt_duplicates.
IF f2 = lt_duplicates-f2 AND f3 = lt_duplicates-f3.
ENDIF.
i = LINES( it_test ).
IF i > 1.
LOOP AT it_test.
WRITE :/ it_test-f1,it_test-f2,it_test-f3.
ENDLOOP.
ENDIF.
ENDLOOP.