Ansicht
Dokumentation

ABENITAB_KEY_SECONDARY_DUPLICATES - ITAB KEY SECONDARY DUPLICATES

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 R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- 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.,

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 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 )