Ansicht
Dokumentation
ABAPDATA_PRIMARY_KEY - DATA PRIMARY KEY
ABAP Short Reference PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
DATA, key
... ${ $[UNIQUE $| NON-UNIQUE$]
${ ${KEY $[primary_key $[ALIAS alias_name$] COMPONENTS$] comp1 comp2 ...$}
$| ${DEFAULT KEY$} $} $}
$| ${ EMPTY KEY $} ...
Alternativen:
1. ... $[UNIQUE$|NON-UNIQUE$] ${KEY ...$}$|${DEFAULT KEY$}
2. ... EMPTY KEY
Alternative 1
... $[UNIQUE$|NON-UNIQUE$] ${KEY ...$}$|${DEFAULT KEY$}
Wirkung
Definition des primären Tabellenschlüssels einer internen Tabelle über die Angabe von Komponenten oder als Standardschlüssel. Syntax und Semantik der Zusätze sind wie bei der Anweisung TYPES für eigenständige Tabellentypen mit dem Unterschied, dass der Primärschlüssel eines gebundenen Tabellentyps immer vollständig spezifiziert sein muss:
- Bei Standardtabellen kann nur der Zusatz NON-UNIQUE KEY angegeben werden. Bei fehlender Angabe der Eindeutigkeit wird dieser Zusatz implizit ergänzt. Die Angabe des Zusatzes UNIQUE KEY ist nicht möglich.
- Bei sortierten Tabellen muss einer der beiden Zusätze UNIQUE KEY oder NON-UNIQUE KEY angegeben werden.
- Bei Hash-Tabellen muss der Zusatz UNIQUE KEY angegeben werden.
Wenn bei DATA keine Angabe eines Primärschlüssels mit WITH gemacht wird, werden bei Standardtabellen implizit die Zusätze WITH NON-UNIQUE DEFAULT KEY ergänzt, wodurch die Tabelle einen Standardschlüssel hat, der auch leer sein kann. Bei sortierten Tabellen und Hash-Tabellen muss der Primärschlüssel explizit angegeben werden und kann nicht leer sein.
Wenn der Name des Primärschlüssels primary_key explizit angegeben wird, darf der
obsolete Zusatz WITH HEADER LINE auch außerhalb von Klassen nicht mehr angegeben werden.
Hinweis
Die Deklaration des primären Tabellenschlüssels als
Standardschlüssel kann aus verschiedenen
Gründen kritisch sein. Statt dessen sollten die Schlüsselfelder explizit angegeben werden.
Insbesondere ist darauf zu achten, dass die Deklaration des Standardschlüssels nicht aus Versehen ergänzt wird, weil die explizite Schlüsselangabe vergessen wurde.
Beispiel
Definition einer sortierten Tabelle mit Primärschlüssel ohne explizite Namensangabe.
Beispiel
Definition einer sortierten Tabelle mit Primärschlüssel ohne explizite Namensangabe.
Beispiel
Definition einer sortierten Tabelle mit Primärschlüssel, für den ein Aliasname definiert ist.
Alternative 2
... EMPTY KEY
Wirkung
Definition eines leeren Primärschlüssels einer internen Tabelle. Diese Variante ist nur bei Standardtabellen möglich. Syntax und Bedeutung sind wie bei der Anweisung TYPES.
Hinweise
- Der Zusatz EMPTY KEY kann in allen Fällen für Klarheit sorgen, in denen auf die Definition eines Tabellenschlüssels keinen Wert gelegt wird.
- Die Verwendung des Zusatzes EMPTY KEY ist in der Regel keiner Angabe einer Schlüsseldefinition vorzuziehen, da ansonsten der Standardschlüssel verwendet wird, dessen Verwendung häufig zu unerwarteten Ergebnissen führt.
Beispiel
Deklaration einer Tabelle mit leerem Primärschlüssel. Eine Verwendung der Anweisung SORT ohne Angabe eines Sortierkriteriums hätte für diese Tabelle keine Wirkung.
Addresses (Business Address Services) Vendor Master (General Section)
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6805 Date: 20240426 Time: 050519 sap01-206 ( 96 ms )