Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Pool- und Clustertabellen  Dokument im Navigationsbaum lokalisieren

Verwendung

Tabellenpools (Pools) und Tabellencluster (Cluster) sind spezielle Tabellentypen im ABAP Dictionary. In einem Tabellenpool bzw. Tabellencluster können die Daten mehrerer unterschiedlicher Tabellen gemeinsam abgelegt werden. Die einem Tabellenpool bzw. Tabellencluster zugeordneten Tabellen werden als Pooltabellen bzw. Clustertabellen bezeichnet.

Nutzen Sie einen Tabellenpool oder Tabellencluster ausschließlich zur Ablage interner Steuerinformationen (Dynprofolgen, Programmparameter, temporäre Daten, fortlaufende Texte wie etwa Dokumentation). Betriebswirtschaftlich relevante Daten werden in transparenten Tabellen abgelegt.

Funktionsumfang

Tabellenpool

Einem Tabellenpool entspricht eine Tabelle auf der Datenbank, in der alle Sätze der Pooltabellen abgelegt werden, die dem Tabellenpool zugeordnet sind.

Die Definition eines Pools besteht aus zwei Schlüsselfeldern (Tabname und Varkey) und einem langen Argumentfeld (Vardata). Ein Pool besitzt folgende Struktur:

Feld

Datentyp

Beschreibung

Tabname

CHAR(10)

Name der Pooltabelle

Varkey

CHAR (n)

Enthält als String die Einträge aller Schlüsselfelder des Satzes der Pooltabelle. Die maximale Länge für n ist 110.

Dataln

INT2(5)

Länge des in Vardata stehenden Strings

Vardata

RAW (n)

Enthält als String die Einträge aller Datenfelder des Satzes der Pooltabelle. Die maximale Länge n ist abhängig vom verwendeten Datenbanksystem.

Wenn Sie einen Satz einer Pooltabelle sichern, so wird dieser im zugeordneten Tabellenpool abgelegt. Der Name der Pooltabelle wird dabei in das Feld Tabname geschrieben. Der Inhalt aller Schlüsselfelder der Pooltabelle wird als String in das Feld Varkey und der Inhalt aller Datenfelder als String in das Feld Vardata geschrieben. Die Länge des in Vardata abgelegten Strings wird von der Datenbankschnittstelle im Feld Dataln eingetragen. Die folgende Abbildung zeigt die Struktur eines Tabellenpools. Sie stellt beispielhaft einen Tabellenpool mit zwei zugeordneten Tabellen dar.

Diese Grafik wird im zugehörigen Text erklärt

Einschränkungen

Aufgrund der Struktur eines Tabellenpools bestehen einige Restriktionen für die Pooltabellen, die ihm zugeordnet werden:

      Der Name einer Pooltabelle kann 10 Zeichen nicht überschreiten.

      Da Varkey ein Zeichenfeld ist, müssen alle Schlüsselfelder einer Pooltabelle zeichenartige Datentypen (z. B. CHAR, NUMC, CLNT) besitzen.

      Die Gesamtlänge aller Schlüsselfelder bzw. die Gesamtlänge aller Datenfelder einer Pooltabelle darf die Länge des Varkey- bzw. Vardata-Feldes des zugehörigen Pools nicht übersteigen.

Tabellencluster

In einem Tabellencluster können mehrere logische Datensätze aus verschiedenen Clustertabellen in einem physischen Satz zusammengefasst abgelegt werden.

Der Schlüssel eines Clusters besteht aus einer Reihe von frei definierbaren Schlüsselfeldern und einem Feld (Pageno) zur Unterscheidung von Fortsetzungssätzen. Weiterhin enthält ein Cluster ein langes Feld (Vardata), das die Inhalte der Datenfelder der Clustertabellen zu diesem Schlüssel enthält. Falls die Daten nicht in das lange Feld passen, werden Fortsetzungssätze angelegt. Darüber hinaus werden an den Anfang des Vardata-Feldes Steuerinformationen zur Struktur des Datenstrings geschrieben. Ein Tabellencluster besitzt folgende Struktur:

Feld

Datentyp

Beschreibung

CLKEY1

*

Erstes Schlüsselfeld

CLKEY2

*

Zweites Schlüsselfeld

...

...

...

CLKEYn

*

n-tes Schlüsselfeld

Pageno

INT2(5)

Nummer des Fortsetzungssatzes

Timestmp

CHAR(14)

Zeitstempel

Pagelg

INT2(5)

Länge des in Vardata stehenden Strings

Vardata

RAW (n)

Enthält als String die Einträge der Datenfelder der zugeordneten Clustertabellen. Die maximale Länge n ist abhängig vom verwendeten Datenbanksystem.

Die Sätze aller Clustertabellen mit gleichem Schlüssel werden unter einem Schlüssel im zugeordneten Tabellencluster abgelegt. Die Werte der Schlüsselfelder werden in den entsprechenden Schlüsselfeldern des Tabellenclusters gespeichert. Die Werte aller Datenfelder der zugeordneten Clustertabellen werden als String in das Vardata-Feld des Tabellenclusters geschrieben. Der Datenstring enthält neben den eigentlichen Datenwerten noch Informationen dazu, welche Struktur die Daten haben und aus welcher Tabelle sie stammen. Falls der String die maximale Länge des Vardata-Feldes überschreitet, wird mit den gleichen Schlüsselwerten ein Fortsetzungssatz geschrieben. Die Fortsetzungssätze zu einem Schlüssel werden durch ihre Werte im Feld Pageno unterschieden. Die tatsächliche Länge des im Vardata-Feld stehenden Strings wird von der Datenbankschnittstelle im Feld Pagelg abgelegt.

Die folgende Abbildung zeigt die Struktur eines Tabellenclusters. Sie stellt beispielhaft einen Tabellencluster mit zwei Clustertabellen dar.

Diese Grafik wird im zugehörigen Text erklärt

Achtung

Für das korrekte Auslesen der Daten aus einer Pooltabelle bzw. Clustertabelle benötigen Sie die im ABAP Dictionary abgelegten Strukturinformationen. Diese Tabellen können nur mit Open SQL über die Clusterschnittstelle und nicht mit Native SQL direkt auf der Datenbank bearbeitet werden.

Siehe auch:

Tabellenpool/Tabellencluster anlegen

Tabellenpool/Tabellencluster löschen

Pooltabellen/Clustertabellen anlegen

Pooltabellen/Clustertabellen ändern

 

 

 

Ende des Inhaltsbereichs