serialize map/list(a,b)


Mit dieser Funktion kann man Maps und Listen serialisieren.

Serialisierung bedeutet praktisch nur, dass Objekte in eine Form gebracht werden, die es ermöglicht, dass diese Objekte an eine andere Stelle übertragen werden können (z. B. ein anderes Profil). Dort können diese Objekte dann wiederhergestellt werden (Deserialisierung).

Die Funktion liefert als Rückgabewert die serialisierten Daten. Zur Deserialisierung kann die Funktion deserialize map/list(a,b,c) verwendet werden.

Hinweis: Das Konzept ist nicht für Massendaten gedacht.

Parameterbeschreibung


Parameter

Beschreibung

a

Name der Map oder Liste, die serialisiert werden soll. Hinweis: Wird kein Wert angegeben (b kann dann auch leer bleiben), dann werden die Objekte mit dem Präfix autoserialize_ verwendet, siehe Beispiele unten. Die Funktion hat dann keinen Rückgabewert und die Variable VAR_AUTOSERIALIZE_DATA (wenn angelegt) enthält die serialisierten Daten bereits nach dem Ausführen der Funktion und nicht erst nach Phase 3.

b

Wert map, wenn a eine Map ist und Wert list, wenn a eine Liste ist.

Beispiele


Importieren Sie bitte die folgenden beiden Profile (und setzen Sie diese auf aktiv): Profile-serialize.pak, Profile-deserialize.pak.

Im Profil serialize wird die Map mymap (mit einem Eintrag) serialisiert. Die Serialisierungsdaten werden gespeichert in der Variable var__SERIALIZED_DATA. Das Profil ruft dann per Message das zweite Profil deserialize auf.

Im zweiten Profil wird die Variable MSG_CALL_var__SERIALIZED_DATA (per Message übergeben vom Profil serialize) ausgelesen, die Deserialisierung ausgeführt und aus der Map der Eintrag ausgelesen.

Automatisches Serialisieren/Deserialisieren


Das Serialisieren und Deserialisieren kann auch automatisch ausgeführt werden.

Wird ein neues Profil erstellt, wird in diesem automatisch die System-Variable VAR_AUTOSERIALIZE_DATA erzeugt (ansonsten bitte manuell anlegen in beiden Profilen).

Wenn Sie für Maps oder Listen das Präfix autoserialize_ verwenden, dann werden diese automatisch serialisiert (im Quell-Profil) und deserialisiert (im Ziel-Profil).

Importieren Sie bitte die folgenden beiden Profile (und setzen Sie diese auf aktiv): Profile-auto_serialize.pak, Profile-auto_deserialize.pak. Wichtiger Hinweis: Wenn Sie das automatische Serialisieren und Deserialisieren verwenden, müssen Sie weder im aufrufenden, noch im aufgerufenen Profil die beschriebene System-Variable anlegen. Zudem muss im Folge-Profil nicht das Präfix MSG_CALL_ verwendet werden und es muss auch keine explizite Deserialisierung durchgeführt werden. Sie haben also im Folge-Profil immer direkten und sofortigen Zugriff auf automatisch serialisierte Maps und Listen. Das selbe gilt für Sub-Profil-Aufrufe.

Zur Verwendung der Autoserialisierung/Autodeserialisierung in Workflows siehe Abschnitt Variablen (Workflows).

Zeitpunkt der Autoserialisierung

Automatisch serialisiert wird am Ende von Phase 3 (oder im Fehlerfall bei Abbruch von Phase 3) oder nach jedem Datenblatt, wenn die Option Pro Datenblatt Antwortwege ausführen gesetzt ist. Für den Fall, dass die System-Variable VAR_AUTOSERIALIZE_DATA sofort gefüllt werden soll, siehe Parameter a. Wichtiger Hinweis: Beim Aufruf der Funktionen start new workflow(a,b), fire workflow-event(a,b), add/set workflow variable(a,b,c,d) und call sub profile for source tree (a,b,c,d,e,f,g,h,i,j,k) wird sofort autoserialisiert und nicht erst nach Phase 3.