Sekundärtabellenschlüssel können für Tabellentypen im ABAP Dictionary sowie für interne Tabellen in ABAP definiert werden.
Mögliche Sekundärtabellenschlüssel sind Hash-Schlüssel und sortierter Schlüssel. Sekundärschlüssel lassen sich ausgehend von ihrer Eindeutigkeit und der Zugriffsart in drei Kategorien einteilen:
● Mit Unique Hashed definierte eindeutige Hash-Sekundärschlüssel, die über einen Hash-Algorithmus mit Tabellenzeilen verknüpft sind
● Mit Unique Sorted definierte sortierte Sekundärschlüssel, die über einen Sekundärtabellenindex (in dem die Schlüsselfelder aufsteigend sortiert sind) mit Tabellenzeilen verknüpft sind
● Mit Non-Unique Sorted definierte nicht eindeutige sortierte Sekundärschlüssel, die über einen Sekundärtabellenindex (in dem die Schlüsselfelder aufsteigend sortiert sind) mit Tabellenzeilen verknüpft sind
Eine interne Tabelle kann bis zu 15 Sekundärtabellenschlüssel mit verschiedenen Namen haben.
Sekundärschlüssel empfehlen sich für interne Tabellen, die einmal gefüllt und während der Programmausführung selten geändert werden.
Jeder Sekundärschlüssel hat einen eindeutigen Namen, der den Namenskonventionen genügen muss. Der Name darf nicht einer der vordefinierten Namen PRIMARY_KEY oder LOOP_KEY sein.
Die Namen von Sekundärschlüsseln sowie ein potenzieller Aliasname des Primärschlüssels müssen eindeutig sein.
In ABAP stehen Ihnen folgende Möglichkeiten für die Definition von Sekundärschlüsseln zur Verfügung:
● Zusatz WITH FURTHER SECONDARY KEYS:
Dieser Zusatz macht eine Tabelle (unabhängig vom Primärschlüssel) im Hinblick auf ihre Sekundärschlüssel generisch.
● Zusatz WITHOUT FURTHER SECONDARY KEYS
Dieser Zusatz identifiziert die als nicht generisch im Hinblick auf ihre Sekundärschlüssel deklarierte interne Tabelle.
● Kein Zusatz angegeben:
Die Tabelle ist im Hinblick auf ihre Sekundärschlüssel nur generisch, wenn sie auch im Hinblick auf ihren Primärschlüssel generisch ist.
● Ist eine Tabelle im Hinblick auf ihren Primärschlüssel bereits generisch, dann ist der Zusatz WITH FURTHER SECONDARY KEYS zwar überflüssig, kann aber angegeben werden.
● Ist eine Tabelle im Hinblick auf ihren Primärschlüssel nicht generisch, dann ist der Zusatz WITHOUT FURTHER SECONDARY KEYS zwar überflüssig, kann aber angegeben werden.
Diese Definition kann auch im ABAP Dictionary angegeben werden. Führen Sie dazu folgende Schritte aus:
...
1. Wechseln Sie auf die Registerkarte Sekundärschlüssel.
2. Wählen Sie unter Weitere Sekundärschlüssel die geeignete Option.
Wenn Sie bereits 15 Sekundärschlüssel definiert haben, können Sie den Zusatz WITH FURTHER SECONDARY KEYS nicht deklarieren.