Inhaltsverzeichnis eines Daten-Clusters erstellen 

Um das Inhaltsverzeichnis eines Daten-Clusters aus einer ABAP-Cluster-Datenbank zu erstellen, verwenden Sie die folgende Anweisung:

Syntax

IMPORT DIRECTORY INTO <dirtab>
                 FROM DATABASE <dbtab>(<ar>)
                 [CLIENT <cli>] ID <key>.

Diese Anweisung erstellt in der Tabelle <dirtab> ein Inhaltsverzeichnis der Datenobjekte eines Daten-Clusters in der Datenbank <dbtab>. Sie müssen <dbtab> mit der TABLES-Anweisung deklarieren.

Die Speicherung eines Daten-Clusters in einer Datenbank erfolgte normalerweise durch eine EXPORT TO DATABASE- Anweisung (siehe Datenobjekte in Cluster-Datenbanken speichern). Informationen zur Struktur der Datenbanktabelle <dbtab> finden Sie unter Struktur von Cluster-Datenbanken.

Mit <ar>, geben Sie die zweistellige Bereichskennung für das abgespeicherte Cluster in der Datenbank an. 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. 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.

Die IMPORT-Anweisung liest automatisch auch den Inhalt der Benutzerfelder des Tabellenarbeitsbereichs <dbtab> aus der Datenbanktabelle.

Kann ein Inhaltsverzeichnis erstellt werden, wird SY-SUBRC auf 0, ansonsten auf 4 gesetzt.

Sie müssen die interne Tabelle <dirtab> gemäß der ABAP-Dictionary Struktur CDIR aufbauen. Verwenden Sie dazu den Zusatz TYPE der DATA-Anweisung. Die Struktur CDIR hat folgende Komponenten:

Feldname

Typ

Beschreibung

NAME

CHAR

Name des abgespeicherten Objekts im Cluster

OTYPE

CHAR

Typ des Objekts:

F bedeutet elementares Feld

R bedeutet Feldleiste

T bedeutet interne Tabelle

FTYPE

CHAR

Datentyp des Objekts. Strukturierte Datentypen ergeben C.

TFILL

INT4

Anzahl gefüllter Zeilen bei internen Tabellen.

FLENG

INT2

Länge des Feldes, bzw. der Struktur.

 

REPORT demo_data_ext_cluster_import_2.

DATA: dirtab TYPE TABLE OF cdir,
      wa_dirtab LIKE LINE OF dirtab.

IMPORT DIRECTORY INTO dirtab FROM DATABASE
                                  indx(hk) ID 'Table'.

IF sy-subrc = 0.
  WRITE: / 'AEDAT:', indx-aedat,
         / 'USERA:', indx-usera,
         / 'PGMID:', indx-pgmid.
  WRITE  / 'Directory:'.
  LOOP AT dirtab INTO wa_dirtab.
    WRITE: / wa_dirtab-name,  wa_dirtab-otype, wa_dirtab-ftype,
             wa_dirtab-tfill, wa_dirtab-fleng.
  ENDLOOP.
ELSE.
  WRITE 'Not found'.
ENDIF.

Dieses Programm erstellt ein Inhaltsverzeichnis des mit dem Beispielprogramm unter Datenobjekte in Cluster-Datenbanken speichern abgespeicherten Daten-Clusters. Die Ausgabe sieht folgendermaßen aus:

Das Inhaltsverzeichnis DIRTAB enthält eine Zeile, die zeigt, daß in dem Daten-Cluster eine interne Tabelle namens ITAB mit 3000 gefüllten Zeilen der Länge 8 gespeichert ist.