Ansicht
Dokumentation

ABENITAB_DATA_TYPE - ITAB DATA TYPE

ABENITAB_DATA_TYPE - ITAB DATA TYPE

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Tabellentyp

Ein Tabellentyp, der als DDIC-Tabellentyp oder über TYPES oder DATA definiert ist wird wie folgt vollständig angegeben werden:

  • Zeilentyp
Der Zeilentyp einer internen Tabelle kann ein beliebiger Datentyp sein. Wenn der Zeilentyp strukturiert ist, bezeichnet man die einzelnen Komponenten einer Zeile auch als Spalten der internen Tabelle.
  • Tabellenart
Die Tabellenart definiert, wie eine interne Tabelle verwaltet wird und wie auf einzelne Zeilen zugegriffen werden kann. Es gibt drei Tabellenarten:
  • Standardtabellen werden intern durch einen primären Tabellenindex verwaltet, der bei Bedarf durch einen logischen Index verwirklicht wird. Der Zugriff kann über einen Tabellenindex oder einen Tabellenschlüssel erfolgen. Der Primärschlüssel einer Standard-Tabelle ist immer nicht-eindeutig. Beim Zugriff über den Primärschlüssel hängt die Antwortzeit linear von der Anzahl der Tabelleneinträge ab. Für effiziente Schlüsselzugriffe auf Standardtabellen können sekundäre Tabellenschlüssel definiert werden.

  • Sortierte Tabellen werden intern ebenfalls durch einen primären Tabellenindex verwaltet. Sie liegen immer sortiert nach dem primären Tabellenschlüssel vor. Die Sortierreihenfolge ist der Größe nach aufsteigend gemäß der Vergleichsregeln für die Datentypen der Schlüsselfelder und entspricht dem Ergebnis der Anweisung SORT ohne Angabe von Zusätzen. Der Zugriff kann über einen Tabellenindex oder einen Tabellenschlüssel erfolgen. Der Primärschlüssel von sortierten Tabellen kann eindeutig oder nicht-eindeutig sein. Beim Zugriff über den Primärschlüssel hängt die Antwortzeit logarithmisch von der Anzahl der Tabelleneinträge ab, da der Zugriff über eine binäre Suche erfolgt.

  • Hash-Tabellen werden intern durch einen Hash-Algorithmus verwaltet. Der Zugriff auf Hash-Tabellen ist über einen Tabellenschlüssel oder einen sekundären Tabellenindex möglich. Der Primärschlüssel von Hash-Tabellen ist immer eindeutig. Beim Zugriff über den Primärschlüssel ist die Antwortzeit unabhängig von der Anzahl der Tabelleneinträge konstant.

  • den Tabellenschlüssel
Ein Tabellenschlüssel dient der Identifikation von Tabellenzeilen (siehe unten). Es gibt zwei mögliche Schlüsseltypen für interne Tabellen: Primärschlüssel und optionale Sekundärschlüssel. Jede interne Tabelle hat einen Primärschlüssel, der entweder ein selbstdefinierter Schlüssel oder der Standardschlüssel ist. Der Primärschlüssel kann je nach Tabellenart als eindeutig oder nicht-eindeutig festgelegt werden. Ein Sekundärschlüssel ist entweder einer sortierter Schlüssel, der eindeutig oder nicht-eindeutig sein kann, oder ein eindeutiger Hash-Schlüssel. Bei eindeutigen Schlüsseln kann eine Zeile mit einem bestimmten Inhalt der Schlüsselfelder nur einmal der internen Tabelle vorkommen. Ein Tabellenschlüssel kann aus Komponenten des Zeilentyps oder der gesamten Zeile( Pseudokomponente table_line) bestehen, wenn diese keine internen Tabellen sind oder enthalten. Bei der Definition eines Tabellenschlüssels ist die Reihenfolge der Schlüsselfelder signifikant.

Ein im ABAP Dictionary oder mit TYPES definierter Tabellentyp muss im Gegensatz zu allen anderen selbst definierten Datentypen nicht vollständig spezifiziert sein. Bei der Definition können entweder nur die Schlüssel oder der Zeilentyp und die Schlüssel unspezifiziert bleiben. Ein solcher Typ ist generisch und kann ausschließlich für Typisierungen von Feldsymbolen und Formalparametern verwendet werden. Hierfür stehen auch die vordefinierten generischen ABAP-Typen ANY TABLE und INDEX TABLE zur Verfügung. Der erste umfasst alle Tabellenarten, der zweite Standard- und sortierte Tabellen, die so genannten Indextabellen.

Interne Tabellen gehören wie Strings zu den dynamischen Datenobjekten. Sie sind betreffs Zeilentyp, Tabellenart und Tabellenschlüssel immer vollständig spezifiziert, die Anzahl der Zeilen ist jedoch beliebig und nur durch die Kapazitätsschranken konkreter Systeminstallationen beschränkt (siehe Maximale Größe dynamischer Datenobjekte).

Hinweis

Tabellenschlüssel werden bei der Überprüfung einer Typisierung ausgewertet. Einem Formalparameter oder einem Feldsymbol, deren Tabellentyp einen nicht-generischen Primärschlüssel oder einen oder mehrere Sekundärschlüssel hat, können nur Aktualparameter zugewiesen werden, welche die gleichen Schlüssel haben.

Beispiel

Definition eines Tabellentyps spfli_tab mit dem strukturierten Zeilentyp SPFLI aus dem ABAP Dictionary, der Tabellenart Hash-Tabelle, einem eindeutigen Primärschlüssel und genau einem nicht-eindeutigen sortierten Sekundärschlüssel cities.






CPI1466 during Backup   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8837 Date: 20240523 Time: 164303     sap01-206 ( 157 ms )