
Mehrzeilige Objektreferenz in Container schreiben 
Voraussetzungen
Folgende Voraussetzungen müssen erfüllt sein, um eine mehrzeilige Objektreferenz in einen Container zu schreiben:

Diese Voraussetzungen sind immer erfüllt, wenn Sie sich im
Vorgehensweise
DATA <Objektliste> TYPE SWC_OBJECT OCCURS 0.
Die so erzeugte interne Tabelle besitzt keinen Tabellenkopf. Sie füllen sie, indem Sie jede Objektreferenz einzeln erzeugen und an die Tabelle anhängen.
DATA <Objekt> TYPE SWC_OBJECT.
SWC_CREATE_OBJECT <Objekt> <Objekttyp> <Objektschlüssel>.
APPEND <Objekt> TO <Objektliste>.
SWC_SET_TABLE <Container> <Containerelement> <Objektliste>.

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 Umfeld weiterverwendet wird. Dies ist der Fall, wenn Sie den Container bei einem Funktionsaufruf als Parameter übergeben, z.B. wenn Sie den Container
Ergebnis
Die erzeugten Objektreferenzen sind Laufzeitreferenzen, die nur im Umfeld des erzeugenden Programms existieren. Diese Objektreferenzen werden 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
Die Variable
POSITIONLIST wird als mehrzeilige Objektreferenz deklariert:* Typdeklarationen für mehrzeilige Objektreferenz
DATA POSITITONLIST TYPE SWC_OBJECT OCCURS 0.
Die Variable
POSITION wird als Objektreferenz deklariert. Diese Variable dient als Hilfsvariable bei der Bearbeitung der mehrzeiligen Objektliste:* Typdeklarationen für Objektreferenz
DATA POSITION TYPE SWC_OBJECT.
Die interne Tabelle
POSITIONKEY wird mit Werten gefüllt. Für jeden Eintrag wird eine Objektreferenz Position erzeugt und in die mehrzeilige Objektreferenz POSITIONLIST geschrieben:* Typdeklarationen für die Schlüsselfelder des
* Objektes "Position eines Auftrags"
DATA: BEGIN OF POSITIONKEY,
DOCUMENT LIKE VBAP-VBELN, "Verkaufsbeleg
ITEM LIKE VBAP-POSNR, "Verkaufsbelegposition
END OF POSITIONKEY.
* mehrzeilige Objektreferenz bearbeiten
SELECT * FROM VBAP
WHERE VBELN BETWEEN '0000002500' AND '0000002600'.
* Schlüsselfelder füllen
POSITIONKEY-DOCUMENT = VBAP-VBELN.
POSITIONKEY-ITEM = VBAP-POSNR.
* Objektreferenz erzeugen
SWC_CREATE_OBJECT POSITION 'VBAP' POSITIONKEY.
* Objektreferenz in mehrzeilige Objektreferenz einfügen
APPEND POSITION TO POSITIONS.
ENDSELECT.
Die mehrzeilige Objektreferenz
POSITIONLIST wird im Containerelement Positionen in den Container MY_CONTAINER geschrieben:* mehrzeilige Objektreferenz in Container schreiben
SWC_SET_TABLE MY_CONTAINER 'Positionen' POSITIONLIST.
Ein weiteres Beispiel finden Sie unter
Implementierungsprogramm für ein virtuelles Attribut.