[ABAP] GTT: Globale Temporäre Tabellen zum Zwischenspeichern von Daten

GTT – Globale Temporäre Tabellen

  • Objekt auf Datenbankebene, verfügbar ab NW AS ABAP 7.52
  • Verarbeitung globaler temporärer Daten innerhalb einer Datenbank-LUW
  • ist temporäre transparenten Datenbanktabelle mit Auslieferungsklasse „L“
  • bietet die Möglichkeit, SQL-Operatoren auf temporäre Daten anzuwenden
  • User-spezifisch
  • Workload auf Datenbank
  • Zugriff per Open SQL
  • verursacht geringere Verwaltungskosten als reguläre transparente Tabellen und bietet eine höhere Leistung
* Demoprogramm: DEMO_GTT

* globale temporäre Tabelle DEMO_GTT hat Auslieferungsklasse "L"
* zwei Datensätze einfügen
INSERT demo_gtt FROM TABLE @( VALUE #( ( id = 'A' col = 111 )
                                       ( id = 'B' col = 222 )
                                     )
                            ).

* Daten holen und anzeigen
SELECT FROM demo_gtt
  FIELDS *
  INTO TABLE @DATA(it_gtt).

LOOP AT it_gtt ASSIGNING FIELD-SYMBOL(<f>).
  WRITE: / <f>-id, <f>-col.
ENDLOOP.

* Am Ende immer Daten aus der GTT löschen,
* sonst Exception COMMIT_GTT_ERROR (Implizites Datenbank-Commit wurde abgebrochen wegen nicht leerer GTTs)
DELETE FROM demo_gtt.

Links