Ansicht
Dokumentation

ABAPDATA_PRIMARY_KEY - DATA PRIMARY KEY

ABAPDATA_PRIMARY_KEY - DATA PRIMARY KEY

ABAP Short Reference   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

DATA, key

Kurzreferenz


... ${ $[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.

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 )