ABAPDELETE_DUPLICATES - DELETE DUPLICATES
BAL Application Log Documentation BAL_S_LOG - Application Log: Log header dataDiese Dokumentation steht unter dem Copyright der SAP AG.
DELETE itab - duplicates
Syntax
... ADJACENT DUPLICATES FROM itab [USING KEY keyname]
[COMPARING {comp1comp2 ...}|{ALL FIELDS}]... .
Zusätze:
1. ... USING KEY keyname
2. ... COMPARING {comp1 comp2 ...}|{ALL FIELDS}
Wirkung
Mit diesen Zusätzen löscht die Anweisung DELETE in Gruppen aufeinander folgenderZeilen, die in bestimmten Komponenten den gleichen Inhalt haben, alle Zeilen bis auf die erste Zeileder Gruppe. Wenn der Zusatz COMPARING nicht angegeben ist, werden die Gruppen durch den Inhaltder Schlüsselfelder des verwendeten Tabellenschlüssels bestimmt. Wenn kein expliziter Tabellenschlüssel angegeben ist, wird implizit derprimäre Tabellenschlüssel verwendet.
Die Reihenfolge der Tabellenzeilen, über denen die Gruppen gebildet werden, wird durch den verwendetenTabellenschlüssel bestimmt. Wenn hinter USING KEY kein Schlüssel keynameangegeben ist, ist die Reihenfolge wie bei der Verarbeitung einer LOOP-Anweisung ohne explizite Schlüsselangabe.
Zeilen werden als doppelt vorhanden betrachtet, wenn der Inhalt benachbarter Zeilen in den untersuchtenKomponenten übereinstimmt. Von mehreren aufeinander folgenden doppelten Zeilen werden alle bis auf die erste Zeile gelöscht.
Wenn auf eine Standardtabelle über denprimären Tabellenschlüssel zugegriffen wird und dieserleer ist, werden keine Zeilen gelöscht.
Hinweis
Bei Verwendung des primären Tabellenschlüssels ist zu beachten, dass dies auch derStandardschlüssel sein kann, wodurch unerwartete Effekte auftreten können:
- Bei strukturiertem Zeilentyp umfasst der Standardschlüssel alle zeichen- und byteartigen Komponenten.
- Der Standardschlüssel einer Standardtabelle kann leer sein.
Zusatz 1
... USING KEY keyname
Wirkung
Mit dem Zusatz USING KEY kann in keynameein Tabellenschlüssel angegeben werden, mit dem die Verarbeitung ausgeführt wird. Derangegebene Tabellenschlüssel beeinflusst die Reihenfolge, in der auf die Tabellenzeilen zugegriffen wird, und die Auswertung der übrigen Bedingungen.
Falls der primäre Tabellenschlüssel angegeben ist, verhält sich die Verarbeitung wie bei keiner expliziten Schlüsselangabe. Falls einsekundärerTabellenschlüssel angegeben ist, ist die Reihenfolge, in der auf die Zeilen zugegriffen wird, wie folgt:
- Angabe eines sortierten Schlüssels
Die Zeilen werden nach aufsteigenden Zeilennummern imsekundären Tabellenindex verarbeitet. - Angabe eines Hash-Schlüssels
Die Zeilen werden in der Reihenfolge verarbeitet, in der sie in die Tabelle eingefügt wurden.
Hinweis
Im Unterschied zur Verarbeitung einer Hash-Tabelle unter Verwendung des Primärschlüssels,hat eine vorhergehende Sortierung mit der Anweisung SORT keinen Einfluss auf die Verarbeitungsreihenfolge wenn ein sekundärer Hash-Schlüssel angegeben ist.
Zusatz 2
... COMPARING {comp1 comp2 ...}|{ALL FIELDS}
Wirkung
Falls der Zusatz COMPARING angegeben ist, werden die Gruppen entweder durch den Inhalt der angegebenenKomponenten comp1 comp2 ... oder den Inhalt aller Komponenten ALL FIELDS bestimmt. Die Angabe einzelner Komponenten comp erfolgt wie im AbschnittAngabe von Komponentenbeschrieben, wobei insbesondere ein Zugriff auf Attribute von Klassen über den Objektkomponenten-Selektor möglich ist.
Beispiel
Löschen aller bezüglich des Primärschlüssels mehrfach auftretenden Zeilenin der internen Tabelle connection_tab. Das Ergebnis dieses Beispiels entspricht dem des Beispielszur Positionsangabe bei INSERT.
DATA: BEGIN OF connection,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
distid TYPE spfli-distid,
distance TYPE spfli-distance,
END OF connection.
DATA connection_tab LIKE SORTED TABLE OF connection
WITH NON-UNIQUE KEY cityfrom cityto
distid distance.
SELECT cityfrom cityto distid distance
FROM spfli
INTO TABLE connection_tab.
DELETE ADJACENT DUPLICATES FROM connection_tab.
Addresses (Business Address Services) Vendor Master (General Section)
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7942 Date: 20120526 Time: 194727 triton ( 189 ms )






