Ansicht
Dokumentation

ABAPDATA_SECONDARY_KEY - DATA SECONDARY KEY

ABAPDATA_SECONDARY_KEY - DATA SECONDARY KEY

rdisp/max_wprun_time - Maximum work process run time   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

DATA, secondary_key

Kurzreferenz


... ${UNIQUE HASHED$}$|${UNIQUE SORTED$}$|${NON-UNIQUE SORTED$}
    KEY key_name $[ALIAS alias_name$] COMPONENTS comp1 comp2 ...

Wirkung

Definition eines sekundären Tabellenschlüssels einer internen Tabelle. Syntax und Semantik der Zusätze sind wie bei der Anweisung TYPES für eigenständige Tabellentypen.

Sekundärschlüssel nutzbringend verwenden

Hinweise

  • Ein Sekundärschlüssel kann beim Zugriff auf interne Tabellen mit den Anweisungen READ TABLE itab, LOOP AT itab, MODIFY itab und DELETE itab sowie mit Tabellenausdrücken und in Mesh-Typen und Mesh-Pfaden verwendet werden, um die zu verarbeitenden Zeilen oder die Verarbeitungsreihenfolge zu bestimmen. Hierzu müssen in den Anweisungen die Zusätze WITH $[TABLE$] KEY ... COMPONENTS oder USING KEY und in Tabellenausdrücken KEY zu verwenden. angegeben werden. Ein Sekundärschlüssel wird nie implizit verwendet.
  • Bei der Anweisung INSERT itab wird die Einfügeposition ausschließlich über Primärschlüssel und Primärindex bestimmt. Ein Sekundärschlüssel kann nur für die Quelltabelle angegeben werden, aus der mehrere Zeilen übernommen werden. Letzteres gilt auch für die Anweisung APPEND.
  • Wenn verschiedene Tabellenschlüssel einer internen Tabelle die gleichen Komponenten enthalten, kommt es zu einer Warnung von der Syntaxprüfung, die durch ein Pragma ausgeblendet werden kann. Bei einem Bezug auf ein mit TYPES definierten nicht-generischen Tabellentyp wirkt ein dort angegebenes Pragma auch für die DATA-Anweisung. Bei einem Bezug auf einen generischen Tabellentyp, für den kein primärer Tabellenschlüssel definiert ist, wirkt das dort angegebene Pragma aber nicht auf die DATA-Anweisung, da diese implizit einen vervollständigten Tabellentyp verwendet und das Pragma muss auch bei DATA angegeben werden.
  • Wenn ein Sekundärschlüssel definiert wird, darf der obsolete Zusatz WITH HEADER LINE auch außerhalb von Klassen nicht mehr angegeben werden.
  • Für weitere Hinweise siehe TYPES.

Beispiel

Deklaration einer internen Tabelle mit Primärschlüssel und zwei Sekundärschlüsseln.

Beispiel

Wie vorhergehendes Beispiel aber mit expliziter Nennung des Primärschlüssels.

Das Programm DEMO_SECONDARY_KEYS demonstriert die Deklaration und Verwendung eines sekundären Tabellenschlüssels und den daraus resultierenden Performance-Gewinn.






General Material Data   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4628 Date: 20240426 Time: 060745     sap01-206 ( 78 ms )