Ansicht
Dokumentation
CL_DATA_CONTAINER - Datencontainer für beliebige Daten
Fill RESBD Structure from EBP Component Structure ROGBILLS - Synchronize billing plansDiese Dokumentation steht unter dem Copyright der SAP AG.
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 Services
Aufruf zur ABAP-Schlüsselwortdokumentation:
- Rufen Sie die Transaktion SE80 auf
- Beliebiges Coding anzeigen
- Curser an beliebige Stelle positionieren
- Rufen Sie die F1-Hilfe auf
- 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
CL_GUI_FRONTEND_SERVICES - Frontend Services BAL_S_LOG - Application Log: Log header data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 4163 Date: 20240427 Time: 020940 sap01-206 ( 50 ms )