Datenobjekte in Cluster-Datenbanken speichern Dokument im Navigationsbaum lokalisieren

Um Datenobjekte aus einem ABAP-Programm in Cluster-Datenbanken zu speichern, verwenden Sie die folgende Anweisung:

Syntax

EXPORT <f1> [FROM <g 1>] <f 2> [FROM <g 2>] ...
       TO DATABASE <dbtab>(<ar>) [CLIENT <cli>] ID <key>.

Diese Anweisung legt die in der Liste angegebenen Datenobjekte als Cluster in der Cluster-Datenbank <dbtab> ab. Sie müssen <dbtab> mit der TABLES-Anweisung deklarieren. Ohne Verwendung der Option FROM <g i > wird ein Datenobjekt <f i > unter seinem Namen abgespeichert. Verwenden Sie diese Option, wird ein Datenobjekt <g i > unter dem Namen <f i > abgespeichert.

Mit <ar>, geben Sie die zweistellige Bereichskennung für das abzuspeichernde Cluster in der Datenbank an.
(siehe Punkt 2 unter
Struktur von Cluster-Datenbanken).

Mit der Bezeichnung <key>, deren maximale Länge von der Länge des Bezeichnerfelds in <dbtab> abhängt identifizieren Sie die Daten in der Datenbank.
(siehe Punkt 3 unter
Struktur von Cluster-Datenbanken).

Mit der Option CLIENT <cli> können Sie bei mandantenabhängigen Cluster-Datenbanken die automatische Mandatenbehandlung abschalten und den Mandanten selbst angeben. Diese Option muß direkt hinter dem Namen der Datenbank stehen.
(siehe Punkt 1 unter
Struktur von Cluster-Datenbanken).

Die EXPORT-Anweisung transportiert auch den Inhalt der Benutzerfelder des Tabellenarbeitsbereichs <dbtab> in die Datenbanktabelle. Sie können diese Felder vorher gemäß Ihren Anforderungen füllen.
(siehe Punkt 5 unter
Struktur von Cluster-Datenbanken).

Die EXPORT-Anweisung überschreibt immer vollständig den Inhalt eines eventuell vorhandenen Daten-Clusters im gleichen Bereich <ar>, mit der gleichen Bezeichnung <key> und im gleichen Mandant <cli>.

Hinweis

Bei internen Tabellen mit Kopfzeile kann nur die eigentliche Tabelle, nicht die Kopfzeile abgespeichert werden. Bei der EXPORT-Anweisung wird der Tabellenname als Tabelle interpretiert. Dies ist eine Ausnahme von der allgemeinen Regel, nach der Anweisungen den Tabellennamen normalerweise als Tabellenarbeitsbereich interpretieren (siehe Auswahl eines Tabellentyps).

Beispiel

REPORT demo_data_ext_cluster_export_d.

DATA wa_indx TYPE indx.

DATA: BEGIN OF wa_itab,
        col1 TYPE i,
        col2 TYPE i,
      END OF wa_itab.

DATA itab LIKE TABLE OF wa_itab.

DO 3000 TIMES.
  wa_itab-col1 = sy-index.
  wa_itab-col2 = sy-index ** 2.
  APPEND wa_itab TO itab.
ENDDO.

wa_indx-aedat = sy-datum.
wa_indx-usera = sy-uname.
wa_indx-pgmid = sy-repid.

EXPORT itab TO DATABASE indx(hk) ID 'Table' FROM wa_indx.

WRITE: '    SRTF2',
     AT 20 'AEDAT',
     AT 35 'USERA',
     AT 50 'PGMID'.
ULINE.

SELECT *
       FROM  indx
       INTO  wa_indx
       WHERE relid = 'HK' AND
             srtfd = 'Table'.

  WRITE: / wa_indx-srtf2 UNDER 'SRTF2',
           wa_indx-aedat UNDER 'AEDAT',
           wa_indx-usera UNDER 'USERA',
           wa_indx-pgmid UNDER 'PGMID'.

ENDSELECT.

Es wird eine interne Tabelle ITAB mit 3000 Zeilen gefüllt und nach der Zuweisung von Werten zu einigen Benutzerfeldern von INDX wird ITAB nach INDX exportiert.

Da INDX eine relationale Datenbank ist, können die einzelnen Zeilen mit Open SQL-Anweisungen angesprochen werden. Über die SELECT-Anweisung werden die durch EXPORT abgespeicherten Zeilen durch geeignete WHERE-Bedingungen selektiert.

Die Ausgabe einiger Datenbankfelder sieht folgendermaßen aus:

Diese Grafik wird im zugehörigen Text erklärt

Die Ausgabe zeigt, daß die Benutzerfelder AEDAT, USERA und PGMID durch EXPORT transportiert wurden und daß sich der ITAB enthaltende Daten-Cluster über 6 Zeilen ausdehnt. Wenn Sie die Zahl 3000 in der DO-Anweisung ändern ändert sich die Anzahl der von diesem Daten-Cluster belegten Zeilen.

 

Ende des Inhaltsbereichs