Ansicht
Dokumentation
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 R3upDiese Dokumentation steht unter dem Copyright der SAP AG.
DATA, secondary_key
... ${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 )