Interne Tabellen (ABAP)

Aus MattWiki

Interne Tabellen sind Tabellen, die im Hauptspeicher gehalten werden. Im Gegensatz dazu werden Datenbanktabellen im Datenbanksystem abgelegt.

Interne Tabellen benötigen einen Tabellentyp. Ein Tabellentyp kann per Code oder im Dictionary definiert werden. Er definiert:

  • Tabellenart: z. B. STANDARD
  • Zeilentyp
  • Schlüsseldefinition: z. B. WITH NON_UNIQUE DEFAULT KEY

Tabellenarten

Typ Any
Generisch Index Table Hashed Table
Tabellenart STANDARD TABLE SORTED TABLE HASHED TABLE
Indexzugriff Ja Ja Nein
Schlüsselzugriff Ja Ja Ja
Schlüsseleindeutigkeit NON-UNIQUE UNIQUE oder NON-UNIQUE UNIQUE

Definition einer internen Tabelle

Der für die interne Tabelle benötigte Tabellentyp kann im Dictionary oder im ABAP Code definiert werden.Beispiele für Definition in ABAP:

Implizite Definition:

DATA: gt_buchregal TYPE TABLE OF gst_buch

Explizite Definition:

TYPES: BEGIN OF gst_buch,
         buch_titel type string,
         anz_seiten type int4,
       END OF gst_buch.

TYPES: gtt_buchregal TYPE STANDARD TABLE OF gst_buch
       WITH NON-UNIQUE DEFAULT KEY.

DATA: gt_buchregal TYPE gtt_buchregal

Dabei könnte die Struktur gst_buchund der Tabellentyp gtt_buchregal auch im Dictionary definiert werden.