Objektreferenz in Container schreiben
Voraussetzungen
Folgende Voraussetzungen müssen erfüllt sein, um eine Objektreferenz in einen Container zu schreiben:
Diese Voraussetzungen sind immer erfüllt, wenn Sie sich im
Vorgehensweise
DATA <Objekt> TYPE SWC_OBJECT.
SWC_CREATE_OBJECT <Objekt> <Objekttyp> <Objektschlüssel>.
SWC_SET_ELEMENT <Container> <Containerelement> <Objekt>.
Bei der Kennung des Containerelements wird nicht zwischen Groß- und Kleinbuchstaben unterschieden. Wenn der Container im Datenfluss eines Workflow benutzt wird, müssen Sie darauf achten, dass in der Containerdefinition ein gleichnamiges Containerelement definiert ist.
SWC_CONTAINER_TO_PERSISTENT <Container>.
Sie benötigen persistente Objektreferenzen, wenn der Container in einem anderen Programmkontext weiterverwendet wird. Dies ist der Fall, wenn Sie den Container bei einem Funktionsaufruf als Parameter übergeben, z.B. wenn Sie den Container
Ergebnis
Die erzeugte Objektreferenz ist ein Laufzeitreferenz, die nur im Umfeld des erzeugenden Programms existiert. Diese Objektreferenz wird in einem Containerelement in den Container geschrieben. Wenn das Containerelement unter dieser Kennung noch nicht im Container vorhanden ist, wird es mit seinem Wert in den Container eingefügt. Wenn schon ein Containerelement unter dieser Kennung im Container vorhanden ist, wird der alte Wert mit dem neuen Wert überschrieben. Wenn der Container in einem anderen Programmkontext benötigt wird, müssen Sie die enthaltenen Objektreferenzen persistent machen.
Beispiel
Ein Objekt des Typs
KNA1 (Kunde) wird durch die Kundennummer als Schlüsselfeld beschrieben. Die Kundennummer steht unter dem Namen KUNNR in der Tabelle KNA1 (Kundenstamm: allgemeiner Teil).* Typdeklaration für Schlüsselfeld
* Objekt: Kunde (Debitor)
DATA KUNNR LIKE KNA1-KUNNR. "Kundennummer
Das Feld
KUNNR wird mit einem Wert gefüllt:* Kundennummer
KUNNR = '0000004711'.
Die Variable
CUSTOMER wird als Objektreferenz deklariert.* Typdeklarationen für Objekt
DATA CUSTOMER TYPE SWC_OBJECT.
Für den oben erwähnten Objekttyp
KNA1 (Kunde) wird eine Objektreferenz erzeugt.* Objektreferenz für Objekttyp KNA1 erzeugen
SWC_CREATE_OBJECT CUSTOMER 'KNA1' KUNNR.
Im Containerelement
Kunde wird der Kunde in den Container MY_CONTAINER eingetragen.* Objektreferenz in Container schreiben
SWC_SET_ELEMENT MY_CONTAINER 'Kunde' CUSTOMER.
Die Objektreferenzen des Containers werden persistent gemacht.
SWC_CONTAINER_TO_PERSISTENT MY_CONTAINER.