Ansicht
Dokumentation
ABENITAB_KEY_SECONDARY_DUPLICATES - ITAB KEY SECONDARY DUPLICATES
CL_GUI_FRONTEND_SERVICES - Frontend Services SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3upDiese Dokumentation steht unter dem Copyright der SAP AG.
- Duplikate bei nicht-eindeutigen Schlüsseln
Bei nicht-eindeutigen Tabellenschlüsseln kann es duplikative Zeilen bezüglich dieser Schlüssel geben. Dieser Abschnitt beschreibt die Reihenfolge dieser Duplikate beim Einfügen in Tabellen mit nicht-eindeutigen sortierten Tabellenschlüsseln. Bezüglich des nicht-eindeutigen Primärschlüssels von Standardtabellen spielt diese Reihenfolge keine Rolle.
Einzelsatzoperationen
Beim Einfügen von einzelnen Zeilen, für welche die Einfügeposition über einen Tabellenschlüssel bestimmt wird, d.h.,
- bei den Operationen INSERT ... INTO TABLE ... oder
- beim lazy update von sortierten Sekundärschlüsseln
wird die Reihenfolge der Duplikate bezüglich des Tabellenschlüssels der Zieltabelle nach der Einfügereihenfolge der einzelnen Zeilen bestimmt. Die duplikative Zeile, die zuletzt in die Tabelle eingefügt wurde, wird vor allen anderen Duplikaten einsortiert.
Blockoperationen
Bei Blockeinfügeoperationen, wie bei einer Zuweisung einer interner Tabelle an eine andere oder beim Einfügen mehrerer Zeilen mit INSERT LINES OF wird die Reihenfolge von Duplikaten bezüglich eines sortierten Schlüssels der Zieltabelle innerhalb des Blocks von der Quelltabelle übernommen. Wenn in der Zieltabelle bereits eines oder mehrere Duplikate vorhanden waren, werden die Duplikate des Quellblocks in ihrer ursprünglichen Reihenfolge vor dem ersten Duplikat der Zieltabelle eingefügt.
Besonderheiten
Es gibt einige Operationen, die zwar den Charakter von Blockoperationen haben, intern aber als Folge von Einzelsatzoperationen ausgeführt werden. Deshalb bleibt bei diesen Operationen die ursprüngliche Reihenfolge von Duplikaten bezüglich eines sortierten Schlüssels der Zieltabelle nicht erhalten. Dies ist bei folgenden Operationen der Fall:
- Das Füllen einer internen Tabelle über die Anweisung IMPORT aus einer zuvor mit EXPORT abgelegten Tabelle und alle Operationen, die intern auf einem solchen Import beruhen, wie z.B. bei der Verbuchung.
- Die Übergabe und Übernahme interner Tabellen beim Remote Function Call.
- Die Deserialisierung einer internen Tabelle aus einer zuvor nach XML serialisierten Tabelle mit CALL TRANSFORMATION.
Beispiel
Das Ergebnis der folgenden Einfügung ist
a a
b z
b y
b x
b b
BAL Application Log Documentation rdisp/max_wprun_time - Maximum work process run time
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 3569 Date: 20240523 Time: 172404 sap01-206 ( 61 ms )