ABAPDELETE_DUPLICATES - DELETE DUPLICATES

BAL Application Log Documentation   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

DELETE itab - duplicates

Kurzreferenz



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:

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 )