ABAP Code:How to delete data duplicates of query

ABAP Code How to delete data duplicates of query

ABAP Code How to delete data duplicates of query

ผมได้ลองทำ SAP query ดู แล้วเผอิญเจอปัญหา ดึงข้อมูลจาก query แล้วข้อมูลออกมาซ้ำกัน ลองปรับแก้ไข การ Join Table ใน TCODE SQ02 แล้ว ก็ยังไม่ได้ผล สุดท้ายจบปัญหาด้วยการ เขียนโค็ดเข้าไปเองใน query ในส่วน InfoSet ซึ่งเขียนเข้าไปใน 2 ส่วน คือ

ส่วนที่ 1 : Code Section 1 DATA

constants : lv_table(6) VALUE '%G00[]'.
field-symbols: <table> type any table.

ส่วนที่ 2 : Code Section 12 INITIALIZATION

*END OF SELECTION

ส่วนที่ 3 : Code Section 7 END-OF-SELECTION (after List)

assign (lv_table) to <table>.
if <table> is assigned.
sort <table>.
delete adjacent duplicates from <table>.
endif.

เพียงแค่นี้ครับ ปัญหาหายเลย แต่ถ้ายังไม่หายให้ใส่คีย์ของข้อมูลที่ต้องการได้จริงตามข้างล่างนี้ครับ

เพิ่มโค๊ดในส่วนที่ 1 : Code Section 1 DATA

constants : lv_field_01 TYPE fieldname VALUE 'VTTK-TKNUM',
lv_field_02 TYPE fieldname VALUE 'LIPS-VBELN',
lv_field_03 TYPE fieldname VALUE 'LIPS-POSNR',
lv_field_04 TYPE fieldname VALUE 'LIPS-MATNR'.

แก้ไขโค๊ดในส่วนที่ 2 : Code Section 5 Record Processing

assign (lv_table) to <table>.
if <table> is assigned.
sort <table> DESCENDING.
* delete adjacent duplicates from <table>.
delete adjacent duplicates from <table>;
COMPARING (lv_field_01) (lv_field_02) (lv_field_03) (lv_field_04).
endif.