Dokumentation zur VorgehensweiseObjektreferenz in Container schreiben Dieses Dokument in der Navigationsstruktur finden

Voraussetzungen

Folgende Voraussetzungen müssen erfüllt sein, um eine Objektreferenz eines BOR-Objekts in einen Container zu schreiben:

  • Der Container muss angelegt und initialisiert sein.

  • Bei Funktionsbausteinen muss die Include-Datei <CNTN01> in das Programm eingebunden sein. Bei ABAP-Klassen müssen die Include-Dateien <CNTN02> und <CNTN03> eingebunden sein. Weitere Informationen finden Sie unter Makrobefehle zum Bearbeiten eines Containers.

    Hinweis Hinweis

    Diese Voraussetzungen sind immer erfüllt, wenn Sie sich im Implementierungsprogramm befinden. Der Container wird dann unter dem Namen CONTAINER angesprochen.

    Ende des Hinweises
  • Der zusammengesetzte Schlüssel des Objektes muss in einer Variable zur Verfügung stehen (hier als Objektschlüssel bezeichnet).

Vorgehensweise

  1. Legen Sie eine Variable zur Aufnahme der Objektreferenz an. Verwenden Sie dazu folgenden Befehl:

    DATA <Objekt> TYPE SWC_OBJECT.

  2. Erzeugen Sie die Objektreferenz. Verwenden Sie dazu folgenden Befehl:

    SWC_CREATE_OBJECT <Objekt> <Objekttyp> <Objektschlüssel>.

  3. Schreiben Sie mit folgendem Makrobefehl die Objektreferenz in den Container:

    SWC_SET_ELEMENT <Container> <Containerelement> <Objekt>.

    Achtung Achtung

    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.

    Ende der Warnung.
  4. Wiederholen Sie ggf. die Schritte 2 und 3, bis der Container gefüllt ist.

  5. Machen Sie mit folgendem Makrobefehl die Objektreferenzen des Containers persistent:

    SWC_CONTAINER_TO_PERSISTENT <Container>.

    Hinweis Hinweis

    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

    Ende des Hinweises

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.