Altova FlowForce Server 2025 Advanced Edition

Sie können in FlowForce Server den Rückgabetyp eines Auftrags deklarieren. Beachten Sie beim Deklarieren des Rückgabetyps bitte Folgendes:

 

Der Rückgabetyp muss deklariert werden, wenn Sie den Rückgabewert eines Auftrags in einem anderen Auftrag verarbeiten möchten (siehe Beispiel unten).

Es ist nur bei Aufträgen, die tatsächlich ein Ergebnis erzeugen, sinnvoll einen Rückgabetyp zu deklarieren.

Außerdem muss der Rückgabetyp deklariert werden, wenn Sie das Ergebnis eines Auftrags im Cache speichern möchten.

Der Rückgabetyp des Auftrags muss mit dem Datentyp des letzten Schritts im Auftrag übereinstimmen. Andernfalls retourniert FlowForce Server einen Fehler. Um Typdiskrepanzfehler zu vermeiden, ändern Sie den Datentyp des letzten Auftragsschritts mit Hilfe von Ausdrucksfunktionen, in den als Auftragsrückgabetyp deklarierten Rückgabetyp.

 

So definieren Sie den Rückgabetyp:

Um die Rückgabetyp eines Auftrags zu definieren, gehen Sie folgendermaßen vor:

 

1.Erstellen Sie einen neuen Auftrag oder öffnen Sie einen vorhandenen, um ihn zu bearbeiten.

2.Wählen Sie auf der Konfigurationsseite im Abschnitt Ausführungsergebnis einen Rückgabetyp aus.

 

Rückgabetypen

Es stehen die folgenden Rückgabetypen zur Auswahl zur Verfügung.

 

ignorieren/verwerfen

String

Stream

Zahl

Boolean

Anmeldeinformationen

Zertifikat

Ergebnis

AS2-Partner (Advanced Edition)

AS2 MDN (Advanced Edition)

SFTP-Verbindung (Advanced Edition)

 

Die Standardoption ist ignorieren/verwerfen. Dadurch ignoriert oder verwirft FlowForce Server das Ergebnis eines Auftrags. Wählen Sie diese Option, wenn mit dem Auftrag kein Ergebnis erzeugt wird oder wenn das Ergebnis nicht weiter verarbeitet werden muss.

 

Informationen zum Rückgabetyp

Der Rückgabewert von Typ Ergebnis steht für das Ergebnis einer Schrittfunktion (z.B. ein Schritt, der ein MapForce-Mapping ausführt; ein Schritt, der einen Shell-Befehl ausführt). Der Inhalt des Ergebnisses kann mit Hilfe der folgenden Ausdrucksfunktionen aufgerufen und bearbeitet werden:

 

stdout: Erhält ein Ergebnis des Typs result als Argument und erzeugt einen Stream.

stderr: Gibt den Standardfehler des Ergebnisses zurück.

results: Gibt eine Liste aller Ergebnis-Streams zurück.

exitcode: Gibt den numerischen Exit-Code des Ergebnisses zurück (falls vorhanden).

error-message: Gibt eine Fehlermeldung als Text zurück (falls verfügbar)

 

Beispiel

In diesem Beispiel wird erläutert, wie Sie den Rückgabewert eines Auftrags in einem anderen Auftrag aufrufen. Die Konfiguration erfolgt in zwei Phasen:

 

1.Zuerst wird ein Auftrag konfiguriert, der ein MapForce Mapping ausführt. Mit diesem Mapping werden mehrere Ausgabedateien erzeugt.

2.Als zweites wird ein weiterer Auftrag konfiguriert, der das Mapping in einem seiner Schritte aufruft, nur eine einzige Ausgabedatei auswählt und diese Datei in das Zielverzeichnis kopiert.

 

Auftrag 1: Ausführen des bereitgestellten MapForce-Mappings

Um einen FlowForce-Auftrag erstellen zu können, der ein MapForce Mapping ausführt, müssen wir dieses Mapping zuerst auf FlowForce Server bereitstellen. Nähere Informationen dazu finden Sie im Tutorial "MapForce-Mapping als geplanter Auftrag". Wir verwenden in diesem Beispiel das folgende mit MapForce vorinstallierte Mapping: MapForceExamples\SplitFiles.mfd (Abbildung unten). Dieses Mapping erzeugt mehrere Ausgabedateien, deren Namen auf Basis der für das Mapping bereitgestellten Parameter dynamisch erstellt werden.

ffs_splitfilesmap_zoom70

Nachdem Sie dieses Mapping auf FlowForce Server bereitgestellt haben, haben wir den folgenden Auftrag konfiguriert:

ffs_executionres01_zoom60

Der Auftrag hat einen Error/Success-Handler-Block, der das Mapping ausführt und Ausgabedateien unter den im Feld Working Directory angegebenen Pfad kopiert. Wenn die Ausführung des Mappings fehlschlägt, wird der Bei Fehler-Schritt ausgeführt, d.h. es wird eine E-Mail mit der Fehlermeldung an den angegebenen Empfänger gesendet. Beachten Sie, dass zuerst die SMTP-Einstellungen konfiguriert werden müssen, bevor E-Mails gesendet werden können.

 

Da mit diesem Auftrag ein Ergebnis erzeugt wird, das in einem anderen Auftrag verwendet werden soll, müssen wir den Rückgabewert des Auftrags deklarieren. Wir haben dazu im Abschnitt Ausführungsergebnis in der Dropdown-Liste den Eintrag Ergebnis ausgewählt (Abbildung oben). Wenn Sie den Rückgabewert des Auftrags nicht deklarieren, kann das Auftragsergebnis nicht in einem anderen Auftrag aufgerufen werden und der andere Auftrag kann nicht gespeichert werden.

 

Um den Auftrag auszuführen, geben Sie Ihre Anmeldeinformationen an.

 

Nähere Informationen zur Integration von FlowForce Server mit MapForce und anderen Altova-Produkten finden Sie unter Integration mit Altova-Produkten.

 

Auftrag 2: Aufrufen des Mappings und Auswählen nur einer Ausgabe

Ziel des zweiten Auftrags ist es, den Auftrag mit dem bereitgestellten Mapping aufzurufen, nur eine Ausgabedatei auszuwählen und diese Datei im Zielverzeichnis zu speichern. In der Abbildung unten sehen Sie die Konfiguration dieses Auftrags.

ffs_executionres02_zoom70

Im ersten Schritt wird der soeben konfigurierte Auftrag 1 ausgeführt. Wir haben das Ergebnis des Schritts dem Wert MapOutput vom Typ result zugewiesen. Dadurch kann der Rückgabewert dieses Schritts im zweiten Schritt verwendet werden.

 

Im zweiten Schritt wird die Systemfunktion copy aufgerufen. Sie kopiert die Quelldatei in den Zielordner. Das Feld Quelle enthält den folgenden Ausdruck:

 

{as-file(nth(results(MapOutput), 2))}

 

Die Funktion results konvertiert das Ergebnis des Mapping-Schritts in eine Liste von Ergebnis-Streams. Die Funktion nth erhält als erstes Argument die Liste der Streams und wählt den dritten Eintrag aus (die Funktion nth ist Null-basiert). Die Funktion as-file erstellt anhand des Streams eine Datei. Die Ausgabedatei namens Company03.txt wird unter dem im Feld Ziel definierten Pfad gespeichert. Wenn die Zieldatei bereits vorhanden ist, wird sie überschrieben.

 

Beachten Sie, dass der Ausdruck innerhalb von geschweiften Klammern steht, weil im Feld Quelle ein String erwartet wird. Nähere Informationen zu Ausdrücken und deren Syntax finden Sie unter Ausdrücke.

 

Der Rückgabetyp des zweiten Auftrags muss nicht deklariert werden, da dieser Rückgabewert in keinem anderen Auftrag verwendet werden soll.

 

Um den Auftrag zu testen, geben Sie Ihre Anmeldeinformationen an und definieren Sie einen Trigger, der den Auftrag startet.

 

Ausgabe von Auftrag 2

Nachdem der Auftrag gestartet wurde, wurde Company03.txt erfolgreich im Zielordner gespeichert. The file contains the following details:

 

"Nanonull Europe, AG",Research & Development,Valentin,Rutger,R&D Manager,v.rutger@nanonull.com,1500,28,21,7

"Nanonull Europe, AG",Research & Development,Gaia,Winkler,Research Scientist,g.winkler@nanonull.com,500,22,5,17

"Nanonull Europe, AG",Research & Development,Felipe,Gomez,Research Scientist,f.gomez@nanonull.com,500,20,6,14

"Nanonull Europe, AG",Research & Development,Mirko,Filipcic,Research Scientist,m.filipcic@nanonull.com,500,21,8,13

"Nanonull Europe, AG",Research & Development,Norbert,Riedler,Research Scientist,n.riedler@nanonull.com,1500,18,2,16

"Nanonull Europe, AG",Research & Development,Sabine,Kraus,Research Scientist,s.kraus@nanonull.com,0,18,7,11

"Nanonull Europe, AG",Research & Development,Robert,Manko,Research Scientist,r.manko@nanonull.com,500,20,10,10

"Nanonull Europe, AG",Research & Development,Mandy,Mitchell,Research Scientist,m.mitchell@nanonull.com,500,19,6,13

"Nanonull Europe, AG",Research & Development,Lempel,Wenzl,Research Scientist,l.wenzl@nanonull.com,0,28,3,25

"Nanonull Europe, AG",Research & Development,Max,Matzik,Research Scientist,m.matzik@nanonull.com,0,19,5,14

 

© 2018-2024 Altova GmbH