Behandlung von Datentypen in Schritten

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Konfigurieren von Aufträgen >

Behandlung von Datentypen in Schritten

Wenn Sie das Ergebnis eines Schritts an einen anderen Schritt oder Auftrag übergeben, müssen Sie höchstwahrscheinlich den Datentyp des Schrittergebnisses ändern. Wenn Sie z.B. einen Schritt erstellen, mit dem der Inhalt eines Verzeichnisses aufgelistet wird, so ist der Rückgabetyp result. Um dieses Ergebnis auf eine bestimmte Weise verarbeiten zu können (z.B. eine E-Mail senden oder das Ergebnis in eine Datei schreiben), müssen Sie es von result in Stream oder String konvertieren.

 

Sie können den Rückgabetyp eines Schritts (nennen wir ihn Schritt 1) folgendermaßen ändern:

 

1.Geben Sie in das Feld Das Ergebnis dieses Schritts zuweisen an des Schritts 1 einen Wert ein. Sie müssen diesen Wert später referenzieren, um das Ergebnis des Schritts aufrufen zu können.
2.Fügen Sie nach Schritt 1 einen neuen Ausführungsschritt hinzu (nennen wir ihn Schritt 2).
3.Definieren Sie als Ausführungsfunktion von Schritt 2 die vordefinierte Funktion builtin_functionsystem/compute.
4.Geben Sie in das Ausdrucksfeld von Schritt 2 einen Ausdruck ein, der den von Schritt 1 zurückgegebenen Wert in den benötigten Datentyp konvertiert. Wenn der von Schritt 1 zurückgegebene Wert z.B. eine Ausgabe der Befehlszeile ist und Sie diese in den Typ "Stream" konvertieren möchten, verwenden Sie den Ausdruck

 

stdout(result)

 

Hierbei ist result der Name, den Sie dem von Schritt 1 zurückgegebenen Wert gegeben haben.

 

Der genaue Ausdruck hängt vom gewünschten Ergebnis ab. FlowForce Server bietet eine Reihe von Ausdrucksfunktionen, die Sie mit Operatoren kombinieren können, um sinnvolle Ausdrücke für die Verwendung in Schritten zu erstellen. Eine Erläuterung zu den verfügbaren Optionen finden Sie unter Schrittergebnisfunktionen.

 

Beispiel

Angenommen, Sie haben folgenden Ausdrucksschritt erstellt, der den Inhalt eines Verzeichnisses auflistet:

 

fs_clip0004

 

Das Ergebnis des Schritts hier hat den Typ result. Um das Ergebnis in anderen Schritten zu verwenden (die den Inhalt des Verzeichnisses z.B. in eine Datei schreiben oder eine E-Mail mit ihrem Inhalt senden könnten), benötigen Sie einen Rückgabewert vom Typ Stream und nicht result.

 

 

So konvertieren Sie das Ergebnis des Schritts zur Erstellung der Verzeichnisliste in den Datentyp "Stream":

1.Deklarieren Sie das Ergebnis von Schritt 1 als ErgebnisSchritt1. Geben Sie dazu in das Feld Das Ergebnis dieses Schritts zuweisen an den Text ErgebnisSchritt1 ein.
2.Fügen Sie einen neuen Ausführungsschritt hinzu, der die Funktion builtin_functionsystem/compute aufruft.
3.Geben Sie unter "Parameter" den folgenden Ausdruck ein: stdout(ErgebnisSchritt1), wobei ErgebnisSchritt1 das Ergebnis von Schritt 1 ist.

 

fs_clip0001

 

Der Ausgabedatentyp Ihres Auftrags ist hier, wie gewünscht, Stream. Sie können nun einen neuen Ausführungsschritt erstellen, der das Ergebnis des zweiten Schritts an eine E-Mail-Adresse sendet.

 

 

So senden Sie die Verzeichnisliste an eine E-Mail-Adresse:

1.Ändern Sie den Ausdruck von Schritt 2 von stdout(ErgebnisSchritt1) in content(stdout(ErgebnisSchritt1)). Dadurch konvertieren Sie den Stream-Wert in einen String-Wert.
2.Deklarieren Sie das Ergebnis von Schritt 2 als ErgebnisSchritt2. Geben Sie dazu in das Feld Das Ergebnis dieses Schritts zuweisen an den Text ErgebnisSchritt2 ein.
3.Fügen Sie einen neuen Ausführungsschritt (Schritt 3) mit den folgenden Einstellungen hinzu (beachten Sie, dass die Mailserver-Einstellungen konfiguriert werden müssen, bevor Sie die vordefinierte Funktion /system/mail/sendbuiltin_function verwenden können):

 

Funktion ausführen

Navigieren Sie zur Funktion builtin_function/system/mail/send.

Von

Geben Sie die E-Mail-Adresse des Absenders ein.

An

Geben Sie die E-Mail-Adresse des Empfängers ein.

Betreff

Geben Sie die Betreffszeile der E-Mail ein, z.B. "Verzeichnisliste".

Nachrichtentext

Klicken Sie auf ff-setTo und wählen Sie ErgebnisSchritt2 aus.

 

Zu diesem Zeitpunkt sollten den Ausführungsschritte folgendermaßen aussehen:

 

fs_clip0002

 

4.Erstellen Sie einen Timer Trigger, der den Auftrag entweder einmal oder regelmäßig (z.B. alle 60 Minuten) startet.

 

fs_clip0003

 

5.Klicken Sie auf Speichern.

© 2019 Altova GmbH