X4 Produktdokumentation

X4 Variable Collector

Der Adapter sammelt Ergebnisse aus Prozessschleifen und speichert diese in einer Variablen.

Eigenschaften (Properties)

Operation

Bestimmt, welche Operation der Funktions-Adapter durchführt

Mögliche Werte:

  • Collect: Daten Base64-enkodieren, siehe Abschnitt Operation Collect

  • Get: Inhalt der Prozess-Variablen auslesen, siehe Abschnitt Operation Get

  • GetAndRemove: Inhalt der Prozess-Variablen auslesen und die Prozess-Variable anschließend entfernen, siehe Abschnitt Operation GetAndRemove

Parameter

name

Name der Prozess-Variablen

mode

Merge-Modus; Bestimmt wie der Input in die Prozess-Variable zusammengeführt wird.

Mögliche Werte:

  • BINARY: Der Input wird als Byte-Strom zusammengeführt

  • TEXT: Der Input wird als String zusammengeführt

  • XML: Der Input wird als XML-Dokument zusammengeführt

Statuswerte

1

Die Operation wurde erfolgreich ausgeführt

-1

Bei der Ausführung der Operation kam es zu technischen Problemen

0

Es wurde keine Prozess-Variable gefunden (bei Get und GetAndRemove)

Operation Collect

Modus: BINARY

Folgendes gilt für den Modus BINARY:

  • Adapter-Input wird als Byte-Array interpretiert und an den als Byte-Array interpretierten Inhalt der Prozess-Variablen angehängt.

  • NULL wird als Byte-Array der Länge 0 betrachtet. 

  • Der Content-Type des Ergebnisses ist application/octet-stream.

  • Das Ergebnis wird in die Prozess-Variable zurückgeschrieben und als Adapter-Ergebnis zurückgeliefert.

Modus: TEXT

Folgendes gilt für den Modus TEXT:

  • Der Adapter-Input wird als String interpretiert (das Encoding wird hierzu ausgewertet) und an den als String interpretierten Inhalt der Prozess-Variablen (hier wird ebenfalls das Encoding verwendet) angehängt. 

  • NULL wird als String der Länge 0 betrachtet.

  • Der Content-Type des Ergebnisses ist text/plain mit dem Encoding UTF-8.

  • Das Ergebnis wird in die Prozess-Variable zurückgeschrieben und als Adapter-Ergebnis zurückgeliefert.

Modus: XML

Folgendes gilt für den Modus XML:

  • Der Adapter-Input wird als XML interpretiert und an den als XML interpretierten Inhalt der Prozess-Variablen eingefügt.

  • Der Content-Type des Ergebnisses ist text/xml und das Encoding UTF-8.

  • Das Ergebnis wird in die Prozess-Variable zurückgeschrieben und als Adapter-Ergebnis zurückgeliefert.

  • Falls der Adapter-Input oder der Inhalt der Prozess-Variablen nicht als XML interpretiert werden kann (NULL ist erlaubt), wird der Adapter mit Status -1 und NULL als Ausgabe beendet. Der Inhalt der Prozess-Variablen wurde dann nicht verändert.

Angehängt wird wie folgt:

  • Es wird ein neues Dokument mit dem Wurzelelement Merge erstellt.

  • Ist der Inhalt der Prozess-Variablen nicht NULL, wird ihr Inhalt wie folgt zusammengeführt.
    Ist das Wurzelelement der Prozess-Variablen Merge, werden alle Kind-Element als Kind-Element des Ausgabe-Merge-Elements übernommen. Andernfalls wird das Wurzelelement als Kind des Ausgabe-Merge-Elements übernommen.

  • Anschließend wird dieselbe Behandlung auf den Adapter-Input angewendet.
    Nach einem erfolgreichen Collect im XML-Modus befindet sich damit in der Prozess-Variablen auf jeden Fall ein XML-Dokument mit einem Wurzelelement Merge. Aus Sicht der Collect-Operation im Modus XML, sind NULL (Nichts) und das XML-Dokument <Merge/> gleichwertig.

Operation Get

Die Operation Get liefert den Inhalt der Prozess-Variablen zurück. Ist die Variable gefüllt, wird der Status 1 zurückgegeben, ist die Variable leer, der Status 0. Die Operation Get verhält sich damit wie die Operation Test des Variablen-Bausteins.

info  Für den Fall, dass die Variable leer war, wird das neutrale Element in die Variable gesetzt und als Adapterausgabe verwendet.

Modus

Entsprechendes neutrales Element

BINARY

Byte-Array der Länge 0

TEXT

String der Länge 0

XML

Ein XML-Dokument, das ausschließlich aus dem Wurzelknoten mit dem Namen Merge besteht

Operation GetAndRemove

Die Operation GetAndRemove liefert den Inhalt der Prozess-Variablen zurück. Ist die Variable gefüllt, wird der Status 1 zurückgegeben, ist die Variable leer, der Status 0. Die Operation GetAndRemove kombiniert damit die Operationen Remove und Test des Variablen-Bausteins.

info  Für den Fall, dass die Variable leer war, wird das neutrale Element in die Variable gesetzt und als Adapterausgabe verwendet.

Modus

Entsprechendes neutrales Element

BINARY

Byte-Array der Länge 0

TEXT

String der Länge 0

XML

Ein XML-Dokument, das ausschließlich aus dem Wurzelknoten mit dem Namen Merge besteht

Nach dieser Operation ist die Variable leer.