Freigeben über


Hinzufügen von Verzweigungslogik zu einem Auftrag mit der IF/ELSE-Aufgabe

Verwenden Sie die If/else condition-Aufgabe, um Boole’sche bedingte Logik zu Aufgabendiagrammen hinzuzufügen. Diese Aufgaben bestehen aus einem boole’schen Operator und einem Paar von Operanden, wobei die Operanden auf den Auftrags- oder Aufgabenstatus unter Verwendung konfigurierter oder dynamischer Parameter oder Aufgabenwerte verweisen können. Siehe Aufträge parametrisieren.

Angenommen, Sie haben eine Aufgabe mit dem Namen process_records, die die Anzahl der ungültigen Datensätze in einem Wert mit dem Namen bad_records verwaltet, und Sie möchten die Verarbeitung verzweigen, wenn Sie auf fehlerhafte Datensätze stoßen. Um diese Logik ihrem Workflow hinzuzufügen, können Sie eine If/else condition-Aufgabe mit einem Ausdruck wie z. B. {{tasks.process_records.values.bad_records}} > 0 erstellen. Anschließend können Sie abhängige Aufgaben basierend auf den Ergebnissen der Bedingung hinzufügen.

Nach der Ausführung eines If/else condition-Auftrags, der eine Aufgabe enthält, können Sie das Ergebnis und die Details der Ausdrucksbewertung anzeigen, wenn Sie die Auftragsausführungsdetails in der Benutzeroberfläche anzeigen. Siehe Anzeigen von Details zur Auftragsausführung.

Hinweis

  • Numerische und nicht numerische Werte werden je nach booleschem Operator unterschiedlich behandelt:
    • Die ==- und !=-Operatoren führen einen Zeichenfolgenvergleich ihrer Operanden durch. 12.0 == 12 ergibt beispielsweise „false“.
    • Die Operatoren >, >= und <= führen numerische Vergleiche ihrer Operanden durch. Beispielsweise wird 12.0 >= 12 als „true“ ausgewertet und 10.0 >= 12 als „false“ ausgewertet.
    • Nur numerische Werte, Zeichenfolgen und boolesche Werte sind zulässig, wenn in einem Operanden auf Aufgabenwerte verwiesen wird. Alle anderen Typen führen dazu, dass der Bedingungsausdruck fehlschlägt. Nicht-numerische Werttypen werden in Zeichenfolgen serialisiert und als Zeichenfolgen in If/else condition-Ausdrücken behandelt. Wenn beispielsweise ein Vorgangswert auf einen booleschen Wert festgelegt ist, wird er serialisiert in "true" oder "false".

Konfigurieren einer IF/ELSE-Aufgabe

Fügen Sie eine If/else condition-Aufgabe auf der Registerkarte Aufgaben in der Benutzeroberfläche Jobs hinzu, indem Sie wie folgt vorgehen:

  1. Wählen Sie im Dropdownmenü Typ die Option If/else condition aus.
  2. Geben Sie im ersten Bedingung-Textfeld den Operanden ein, der ausgewertet werden soll. Der Operand kann auf einen der folgenden Punkte verweisen:
    • Eine Auftragsparametervariable.
    • Eine Aufgabenparametervariable.
    • Ein Aufgabenwert.
  3. Wählen Sie im Dropdownmenü einen booleschen Operator aus.
  4. Geben Sie im zweiten Bedingung-Textfeld den Wert für die Auswertung der Bedingung ein.
  5. Klicken Sie auf Aufgabe speichern.

Konfigurieren von Abhängigkeiten von einer IF/ELSE-Bedingung

Konfigurieren Sie die Abhängigkeiten für die If/else condition-Aufgabe aus dem Aufgabendiagramm auf der Registerkarte Aufgaben, indem Sie wie folgt vorgehen:

  1. Wählen Sie die If/else condition-Aufgabe im Aufgabendiagramm aus, und klicken Sie auf + Aufgabe hinzufügen.
  2. Geben Sie Details für den Vorgang ein. Das Feld Abhängig von steht standardmäßig auf <task-name> (true), wobei <task-name> der Name der If/else condition-Aufgabe ist.
    • Wählen Sie <task-name> (false), um eine Aufgabe zu konfigurieren, die bei der Bewertung einer falschen Bedingung ausgeführt wird.

Sie können mehrere Aufgaben so konfigurieren, dass sie seriell oder parallel laufen, basierend auf dem Ergebnis einer If/else condition. Ziehen Sie die Konfiguration von Run if dependencies in Betracht, wenn Sie konditionierte Läufe auf der Grundlage von Fehlern bei vorgelagerten Aufgaben benötigen. Siehe Konfigurieren von Anordnungsbeziehungen.