Struktur von Cluster-Datenbanken 

Cluster-Datenbanken haben folgende Struktur:

Die Regeln für den Aufbau einer Cluster-Datenbank sind im folgenden aufgeführt. Dabei müssen die unter 1 bis 4 aufgeführten Felder als Schlüsselfelder angelegt werden. Die erwähnten Datentypen sind ABAP-Dictionary-Typen.

  1. Soll die Tabelle mandantenabhängig sein, muß das erste Feld den Namen MANDT, den Typ CHAR und eine Länge von 3 Bytes haben, um die Mandantenkennung aufzunehmen. Das System füllt das Feld MANDT beim Speichern eines Daten-Clusters entweder automatisch mit dem aktuellen Mandaten oder mit einem explizit in der EXPORT-Anweisung angegebenen Mandanten.
  2. Das nächste Feld (im Fall mandantenunabhängiger Tabellen ist dies das erste Feld) muß den Namen RELID, den Typ CHAR und eine Länge von 2 Bytes haben. Es enthält eine Bereichskennung. Cluster-Datenbanken sind in verschiedene Bereiche untergliedert. Das System füllt das Feld RELID beim Speichern eines Daten-Clusters durch die Bereichskennung, die in der EXPORT-Anweisung angegeben wird.
  3. Das nächste Feld ist ein Typ CHAR Feld variabler Länge. Es enthält die Bezeichnung <key> des Clusters, die im Programm während des Speicherns mit dem Zusatz ID der EXPORT-Anweisung angegeben wird. Da das nachfolgende Feld ausgerichtet ist, kann das System das Feld RELID mit bis zu 3 ungenutzten Füllbytes am Ende auffüllen. Wenn Sie Ihre eigene Cluster-Datenbank anlegen, sollten Sie die Länge dieses Feldes entsprechend planen.
  4. Das nächste Feld muß den Namen SRTF2, und denTyp INT4 der Länge 4 haben. Einzelne Daten-Cluster können sich über mehrere Zeilen der Datenbanktabelle ausdehnen, wobei theoretisch pro Cluster 2**31 Zeilen möglich sind. Das Feld SRTF2 enthält die laufenden Nummern der Zeilen innerhalb eines gespeicherten Daten-Clusters und kann Werte zwischen 0 und 2**31-1 enthalten. Das System füllt dieses Feld automatisch beim Speichern eines Daten-Clusters (siehe 7.).
  5. Hinter SRTF2 können beliebig viele Benutzerdatenfelder beliebiger Namen und Typen folgen. Das System füllt diese Felder nicht automatisch während des Speicherns eines Daten-Clusters. Sie müssen diesen Feldern vor der EXPORT-Anweisung im Programm explizit Werte zuweisen. Normalerweise enthalten diese Felder Verwaltungsinformationen wie z.B. Programmname, Benutzerkennung etc.
  6. Das vorletzte Feld einer Zeile muß den Namen CLUSTR und den Typ INT2 der Länge 2 haben. Das Feld CLUSTR enthält die Länge der Daten im folgenden Feld CLUSTD. Das System füllt dieses Feld automatisch beim Speichern eines Daten-Clusters.
  7. Das letzte Feld einer Zeile muß den Namen CLUSTD und den Typ VARC haben. Die Länge ist frei wählbar und beträgt üblicherweise einige 1000 Bytes. In dieses Feld schreibt das System während des Speicherns die eigentlichen Daten des Daten-Clusters. Die Daten werden komprimiert abgespeichert. Reicht die Länge von CLUSTD nicht für ein Daten-Cluster aus, wird es über mehrere Zeilen verteilt. Diese Zeilen werden im Feld SRTF2 (siehe 4.) numeriert.

Sie können sich entweder eigene Cluster-Datenbanken gemäß obiger Regeln anlegen (hierzu siehe die Dokumentation BC - ABAP Dictionary) oder Sie können die systemdefinierte Cluster-Datenbank INDX verwenden:

Beispiel einer Cluster-Datenbank