Ansicht
Dokumentation

ABENEXPORT_DATA_CLUSTER_INDX - EXPORT DATA CLUSTER INDX

ABENEXPORT_DATA_CLUSTER_INDX - EXPORT DATA CLUSTER INDX

General Data in Customer Master   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Export-/Import-Tabellen

Bei der Ablage von Daten-Clustern in Datenbanktabellen und Anwendungspuffern des Shared Memories, müssen Datenbanktabellen mit einer der folgenden Strukturen angegeben werden. Solche Datenbanktabellen werden Export-/Import-Tabellen genannt.

Hinweise

  • Die Struktur für Daten-Cluster in einer Zeile ist die neuere Variante und wird für neue Datenbanktabellen empfohlen.
  • In frei definierbaren Felder können Statusinformationen zum eigentlichen Daten-Cluster, wie z.B. Datum, Benutzer, Sprache usw. abgelegt werden.

Struktur für Daten-Cluster in einer Zeile

Bei einer solchen Struktur einer Export-/Import-Tabelle wird der Daten-Cluster in einer Spalte CLUSTD vom Typ RAWSTRING (BLOB) in einer einzigen Zeile abgelegt.

  • Falls die Datenobjekte mandantenabhängig abgelegt werden sollen, muss das erste Feld ein Schlüsselfeld namens MANDT vom Typ CLNT für den Mandanten sein. Diese Komponente ist für die mandantenunabhängige Ablage nicht notwendig.
  • Das nächste Feld muss ein Schlüsselfeld namens RELID vom Typ CHAR der Länge 2 sein. Die Angabe des Bereichs ar wird hier gespeichert.
  • Danach muss mindestens ein Schlüsselfeld vom Typ CHAR mit beliebigem Namen folgen. Hier wird die in id angegebene Kennung in der Länge des Schlüsselfelds gespeichert. Wenn mehrere Schlüsselfelder definiert sind, wird die Kennung entsprechend der jeweiligen Länge der Schlüsselfelder auf diese aufgeteilt. Wenn die Gesamtlänge der Schlüsselfelder für die Kennung zu wenig ist, wird sie rechts abgeschnitten.
  • Danach können beliebig viele Felder mit frei wählbaren Namen und Typen folgen, die durch die Angabe FROM wa mit Werten versorgt werden. Der Zusatz TO wa der Anweisung IMPORT liest diese Felder wieder aus.
  • Das letzte Feld muss CLUSTD heißen und mit dem Datenelement INDX_CLUST_BLOB vom Dictionary-Typ RAWSTRING verknüpft sein. Diese Spalte nimmt den eigentlichen Daten-Cluster auf.

Hinweis

Die Gesamtlänge aller Schlüsselfelder, also von MANDT, RELID, den Schlüsselfeldern für die Kennung und SRTF2 ist wie bei jeder im ABAP Dictionary definierten Datenbank des AS ABAP auf 900 Bytes beschränkt. Wenn der Tabelleninhalt unter Angabe eines Schlüssels transportiert werden soll, ist auch hier eine Beschränkung auf 120 Bytes nötig.

Beispiel

Die Datenbanktabelle DEMO_INDX_BLOB ist ein Beispiel für die Ablage von Daten-Clustern in einer Zeile.

Struktur für Daten-Cluster in mehreren Zeilen

Bei einer solchen Struktur einer Export-/Import-Tabelle wird der Daten-Cluster in einer Spalte CLUSTD vom Typ LRAW abgelegt und kann auf mehrere Zeilen aufgeteilt sein. Die Struktur benötigt zusätzliche Spalten SRTF2 und CLUSTR zur Verwaltung dieser Ablage.

  • Die Struktur beginnt mit den gleichen Schlüsselfeldern wie obige Struktur für Daten-Cluster in einer Zeile.
  • Das nächste Feld muss ein weiteres Schlüsselfeld namens SRTF2 vom Typ INT4 sein. Es enthält die Zeilennummern des im Feld CLUSTD gespeicherten Daten-Clusters, der sich über mehrere Zeilen erstrecken kann, und wird vom System automatisch versorgt. Wenn mehr Zeilen benötigt werden, als der Wertebereich von SRTF2 erlaubt, kommt es zu einer unbehandelbaren Ausnahme.
  • Danach können beliebig viele Felder mit frei wählbaren Namen und Typen folgen, für die wieder das Gleiche gilt, wie für obige Struktur für Daten-Cluster in einer Zeile.
  • Die letzten beiden Komponenten müssen CLUSTR und CLUSTD heißen und die Typen INT2 und LRAW beliebiger Länge haben. In CLUSTR wird die aktuelle Länge des Feldes CLUSTD jeder Zeile gespeichert, während CLUSTD den eigentlichen Daten-Cluster aufnimmt, der sich mehrere Zeilen verteilen kann.

Hinweise

  • Bei der Aufteilung eines Daten-Clusters auf mehrere Zeilen müssen für jede Zeile die zugehörigen Verwaltungsdaten gespeichert werden. Die Inhalte der frei wählbaren Felder werden in jeder Zeile redundant gespeichert.
  • Das zusätzliche Schlüsselfeld SRTF2 trägt zur Gesamtlänge aller Schlüsselfelder bei. Bei einem Transport des Tabelleninhalts unter Angabe eines Schlüssels muss das Schlüsselfeld SRTF2 in der Regel aber nicht angegeben werden, da nur der Transport aller Zeilen eines Daten-Clusters sinnvoll ist.
  • Eine von SAP ausgelieferte Datenbanktabelle INDX hat den Aufbau für einen Daten-Cluster in mehreren Zeilen und kann als Vorlage zur Erstellung eigener Datenbanktabellen und zu Testzwecken verwendet werden. Es wird aber ausdrücklich empfohlen, in produktiven Programmen mit eigenen Export-/Import-Tabellen zu arbeiten:
  • Beim Ablegen von Daten in der Tabelle INDX besteht die Gefahr des ungewollten Überschreibens oder Löschens durch andere Programme.

  • Die frei definierbaren Felder zwischen SRTF2 und CLUSTR passen in der Regel nicht zur eigenen Anwendung.

  • Die Tabelle INDX hat die Auslieferungsklasse A und ist mandantenabhängig. Für die Ablage temporärer Daten kann die Auslieferungsklasse L besser geeignet sein. Falls die Daten mandantenunabhängig sind, sollte die verwendete Tabelle keine Mandantenspalte haben. Dadurch wird die Ablage redundanter Daten vermieden.

  • Neue Export-/Import-Tabellen sollten mit einer BLOB-Spalte CLUSTD angelegt werden.

  • Es können auch noch alte Export-/Import-Tabellen vorkommen, in denen die Spalte SRTF2 den Datentyp INT1 oder INT2 hat. In diesen kann ein Daten-Cluster nicht mehr Zeilen umfassen, als der Wertebereich dieser Typen erlaubt.

Beispiel

Die Datenbanktabelle DEMO_INDX_TABLE ist ein Beispiel für die Ablage von Daten-Clustern in mehreren Zeilen.






Vendor Master (General Section)   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9236 Date: 20240523 Time: 174708     sap01-206 ( 134 ms )