Aufrufen des Ergebnisses eines Mappings oder einer Transformation
Nachdem ein MapForce-Mapping oder eine StyleVision-Transformation auf FlowForce Server bereitgestellt wurde, wird es/sie zu einer FlowForce-Funktion, die von anderen Ausführungsschritten aus aufgerufen werden kann. So wird etwa im ersten Schritt des unten gezeigten Auftrags eine Mapping-Funktion namens SimpleTotal.mapping ausgeführt.
Beachten Sie, dass der Auftrag aus zwei Schritten besteht:
1.In Schritt 1 wird MapForce Server aufgerufen, um die Funktion SimpleTotal.mapping auszuführen. Beachten Sie, dass dem Mapping-Ergebnis im Feld Das Ergebnis dieses Schritts zuweisen an ein Name gegeben wird (in diese Fall ist es output; Sie können jedoch jeden beliebigen Namen wählen).
2.In Schritt 2 wird die Funktion /system/compute aufgerufen, die die Ausgabe des Mappings in einen Stream konvertiert.
Standardmäßig hat die Ausgabe eines Mappings oder einer Transformation den generischen Typ result. Um die Ausgabe sinnvoll verwenden zu können, muss result in den jeweils benötigten Datentyp konvertiert werden (z.B. string, stream, Datei). Zu diesem Zweck gibt es die vordefinierte Funktion /system/compute sowie verschiedene FlowForce-Ausdrucksfunktionen. Im obigen Beispiel wurde die vordefinierte Funktion /system/compute aufgerufen, um die erforderliche Datentypkonvertierung durchzuführen. In diesem Fall konvertiert der Ausdruck stdout(output) den vorherigen Schritt in einen Stream.
In der Tabelle unten sind Beispiele für FlowForce-Ausdrücke, die Sie wahrscheinlich für die Verarbeitung des Ergebnisses einer Mapping- oder Transformationsfunktion benötigen werden, aufgelistet. Denken Sie daran, dass output in allen diesen Beispielen den Namen darstellt, den Sie in das Feld Das Ergebnis dieses Schritts zuweisen an eingegeben haben.
FlowForce-Ausdruck | Zweck |
---|---|
stdout(output) | Konvertiert output in einen Stream. |
content(stdout(output)) | Konvertiert output in einen String. |
as-file(stdout(output)) | Konvertiert output in eine Datei. |
as-file(nth(results(output), 0)) | Diese Art von Ausdruck wird benötigt, wenn output aus mehreren Dateien besteht. Dies ist dann der Fall, wenn die Mapping- oder Transformationsfunktion (in MapForce bzw. StyleVision) so erstellt wurde, dass nicht nur eine einzige, sondern mehrere Ausgaben generiert werden. Der Ausdruck konvertiert output in eine Sequenz von Streams, nimmt den ersten Stream aus der Sequenz und konvertiert ihn in eine Datei. Ein Beispiel dazu finden Sie unter Erstellen eines Auftrags anhand einer StyleVision-Transformation. |
as-file(nth(results(output, "CompletePO"), 0)) | Wie oben, mit Ausnahme davon, dass die Datei nicht anhand ihres Null-basierten Index, sondern anhand ihres Namens (in diesem Fall "CompletePO") aus der Sequenz von Streams aufgerufen wird. |
Eine vollständige Liste von FlowForce-Ausdrucksfunktionen, die für die Behandlung des Ergebnisses eines Schritts oder Auftrags zur Verfügung stehen, finden Sie unter Schrittergebnisfunktionen. Eine Einführung in FlowForce-Ausdrücke finden Sie unter Die FlowForce-Ausdrücke.