Ansicht
Dokumentation

CL_FAGL_DATAC_CONTAINER - Datencontainer für beliebige Daten

CL_FAGL_DATAC_CONTAINER - Datencontainer für beliebige Daten

Vendor Master (General Section)   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Instanzen der Klasse CL_DATA_CONTAINER können beliebige Daten (außer Referenzen) verwalten und auf der Datenbank speichern. Dabei spielt es keine Rolle, ob es sich bei den Daten um einfache Datenelemente, beliebig tief geschachtelte Strukturen oder Tabellen handelt.. Es ist nicht notwendig, dass der den Daten zugrundeliegende Typ im DDIC existiert. Der Container ist in der Lage mit dynamisch erzeugten Typen zu arbeiten.

Weitere Informationen hierzu finden Sie in der ABAP-Schlüsselwortdokumentation unter RTTS Run Time Type Switch

Aufruf zur ABAP-Schlüsselwortdokumentation:

  1. Rufen Sie die Transaktion SE80 auf
  2. Beliebiges Coding anzeigen
  3. Curser an beliebige Stelle positionieren
  4. Rufen Sie die F1-Hilfe auf
  5. Wählen Sie ABAP-Übersicht

Die Doku liegt unter ABAP-Schlüsselwortdokumentation -> ABAP-REFERENZ -> ABAP System-Klassen und Interfaces -> RTTS Run Time Type Switch

Beziehungen

Der Container wurde ursprünglich für das FPP (Framework for Parallel Processing) entwickelt, kann aber unabhängig davon eingesetzt werden.

Beispiel

DATA: lcl_container TYPE REF TO CL_DATA_CONTAINER,

lv_data TYPE string.

TRY.

CREATE OBJECT lcl_container EXPORTING ev_guid = 'MY_CONTAINER'.

lv_data = 'This is a test'.

CALL METHOD lcl_cont->setdata EXPORTING iv_name = 'NUMMER1'

= lv_data.

CALL METHOD lcl_cont->save IMPORTING ev_guid = lv_guid.

COMMIT WORK.

CLEAR lcl_container.

CREATE OBJECT lcl_container EXPORTING ev_guid = 'MY_CONTAINER'.

CATCH cx_fpp_exception.

BREAK-POINT.

ENDTRY.

Hinweise

  • Beim Erzeugen einer Instanz muss keine Identifizierung des Containers mitgegeben werden. In diesem Fall wird automatisch eine Kennung (GUID) für den Container beim Aufruf des Konstruktors vergeben.
  • Die Mehtode SAVE liefert die Kennung des Containers (im Beispiel ist das "MY_CONTAINER")
  • Wird eine Instanz mit einer Kennung eines bereits (auf der Datenbank) existierenden Containers erzeugt, so werden automatisch die Daten dieses Containers geladen.
  • Es besteht keine Beschränkung in der Anzahl der Daten, die der Container verwalten kann.
  • Beim Lesen von Daten kann der Zielbereich fast beliebig sein. Lediglich der allgemeine Typ (SIMPLE, STRUCTURE, TABLE) muss mit dem gespeicherten Daten übereinstimmen. Der Container führt dann ein erweitertes MOVE-CORRESPONDING durch.
  • Sollte sich die Struktur der gespeicherten Daten durch Änderung der zugrundeliegenden DDIC-Elemente ändern, so kann der Container die Daten lesen, solange keine Felder verkürzt werden, da das einen Datenverlust darstellen würde. Das Löschen ganzer Felder aus Strukturen sowie das Hinzufügen von Feldern stellt kein Problem dar.
  • Der Container sollte nicht zum Speichern von Bewegungsdaten verwendet werden, da die interne Datenverwaltung mit XML-Serialisierung und Datenclustern arbeitet, was Laufzeitintensiv ist.

Weiterführende Informationen






PERFORM Short Reference   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4161 Date: 20240329 Time: 093853     sap01-206 ( 55 ms )