Interne Tabellen (ABAP): Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 39: Zeile 39:
Der für die interne Tabelle benötigte Tabellentyp kann im Dictionary oder im ABAP Code definiert werden.Beispiele für Definition in ABAP:
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:<syntaxhighlight lang="abap">
Beispiel für implizite Definition:<syntaxhighlight lang="abap">
DATA: gt_buchregal TYPE TABLE OF gst_buch
DATA: gt_buchregal TYPE TABLE OF gst_buch
</syntaxhighlight>Explizite Definition:<syntaxhighlight lang="abap">
</syntaxhighlight>Beispiele für explizite Definition:<syntaxhighlight lang="abap">
" Struktur für Buch
TYPES: BEGIN OF gst_buch,
TYPES: BEGIN OF gst_buch,
         buch_titel type string,
         buch_titel type string,
Zeile 47: Zeile 48:
       END OF gst_buch.
       END OF gst_buch.


" Tabellentyp für Standard-Tabelle
TYPES: gtt_buchregal TYPE STANDARD TABLE OF gst_buch
TYPES: gtt_buchregal TYPE STANDARD TABLE OF gst_buch
       WITH NON-UNIQUE DEFAULT KEY.
       WITH NON-UNIQUE DEFAULT KEY.
" Tabellentyp für sortierte Tabelle
TYPES: gtt_buchregal_sortiert TYPE SORTED TABLE OF gst_buch
      WITH NON-UNIQUE DEFAULT KEY.
" Tabellentyp für hashed Tabelle
TYPES: gtt_buchregal_hashed TYPE HASHED TABLE OF gst_buch
      WITH UNIQUE DEFAULT KEY.


DATA: gt_buchregal TYPE gtt_buchregal
DATA: gt_buchregal TYPE gtt_buchregal

Version vom 28. August 2016, 22:05 Uhr

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:

Beispiel für implizite Definition:

DATA: gt_buchregal TYPE TABLE OF gst_buch

Beispiele für explizite Definition:

" Struktur für Buch
TYPES: BEGIN OF gst_buch,
         buch_titel type string,
         anz_seiten type int4,
       END OF gst_buch.

" Tabellentyp für Standard-Tabelle
TYPES: gtt_buchregal TYPE STANDARD TABLE OF gst_buch
       WITH NON-UNIQUE DEFAULT KEY.

" Tabellentyp für sortierte Tabelle
TYPES: gtt_buchregal_sortiert TYPE SORTED TABLE OF gst_buch
       WITH NON-UNIQUE DEFAULT KEY.

" Tabellentyp für hashed Tabelle
TYPES: gtt_buchregal_hashed TYPE HASHED TABLE OF gst_buch
       WITH 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.