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.