- Einleitung
- Erste Schritte
- Prozessmodellierung mit BPMN
- Grundlagen der Prozessmodellierung
- Öffnen der Modellierungsarbeitsfläche
- Modellierung Ihres Prozesses
- Ausrichten und Verbinden von BPMN-Elementen
- Autopilot for Maestro (Vorschau)
- Prozess-Repository
- Prozessmodellierung mit Fallverwaltung
- Entwerfen eines persistenten Fallentitätsschemas
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- Austrittsregeln und Beendigung der frühen Phase
- Modellieren von primären und sekundären Phasen
- Auslösen eines Falls aus Data Fabric
- Implementieren von Personas und Berechtigungen auf Phasenebene
- Festlegen von SLAs und automatisierten Eskalationsregeln
- Konfigurieren einer Nacharbeitsschleife (Wiedereintritt)
- Verwalten von Live-Fallinstanzen: Anhalten, migrieren und wiederholen
- Maestro-Komponentenwörterbuch für die Fallverwaltung
- Prozessmodellierung mit Flow
- Prozessimplementierung
- Debugging
- Simulieren
- Veröffentlichen und Aktualisieren von agentischen Prozessen
- Häufige Implementierungsszenarien
- Extraktieren und Validieren von Dokumenten
- Prozessabläufe
- Prozessüberwachung
- Prozessoptimierung
- Referenzinformationen
Unterflows zur Gruppierung von Prozessknoten in wiederverwendbaren, in sich geschlossenen Einheiten innerhalb eines übergeordneten Workflows mit Variable-Scoping-Regeln und Eingabe-/Ausgabekonfiguration.
Dieser Leitfaden umfasst Folgendes:
Ein Unterflow ist ein Prozess, der in einem anderen Prozess eingebettet ist. Es gruppiert eine Reihe von Knoten zu einer eigenständigen Einheit, die als Teil des übergeordneten Prozesses ausgeführt wird und die Ausgabe an diesen zurückgibt. Mithilfe von Unterflows können Sie komplexe Logik in wiederverwendbare, verwaltbare Teile organisieren.
Wie es funktioniert
Wenn ein übergeordneter Prozess einen Unterflowknoten erreicht, tritt die Ausführung in den Unterflow ein und führt seine Knoten nacheinander aus. Der Unterflow hat einen eigenen Variablen-Scope, sodass darin definierte Variablen nicht mit Variablen im übergeordneten Prozess kollaborieren. Wenn der Unterfluss abgeschlossen ist, wird sein Rückgabewert an den übergeordneten Prozess zurückgegeben und die Ausführung wird nach dem Unterfluss auf dem nächsten Knoten fortgesetzt.
Knoten innerhalb eines Unterflows können auf Folgendes zugreifen:
- Andere Knoten innerhalb desselben Unterflows
- Der Scope des übergeordneten Prozesses
Der Rückgabewert des Unterflows ist für den übergeordneten Prozess als $vars.<subflowName>.output zugänglich.
Erstellen eines Unterflows
So fügen Sie Ihrem Prozess einen Unterflow hinzu:
- Öffnen Sie die Knotenpalette auf der Arbeitsfläche.
- Suchen oder suchen Sie den Subflowknoten .
- Ziehen Sie ihn auf die Arbeitsfläche und verbinden Sie ihn mit dem vorangegangenen Knoten.
Flow fügt den Unterflow als reduzierbaren Container auf der Arbeitsfläche hinzu. Wählen Sie ihn aus, um ihn zu erweitern und darin Knoten hinzuzufügen.
Ergebnis: Der Unterflow wird auf der Arbeitsfläche als reduzierbarer Container angezeigt. Ziehen Sie Knoten hinein, um die Logik des Unterflows zu definieren.
Übergeben von Daten ein- und ausgehend
Eingaben
Sie definieren Unterflow-Eingaben im Eigenschaftenbereich. Jede Eingabe akzeptiert einen Wert oder Ausdruck aus dem Scope des übergeordneten Prozesses.
So konfigurieren Sie Unterflow-Eingaben:
- Wählen Sie den Unterflowknoten auf der Arbeitsfläche aus.
- Öffnen Sie den Abschnitt Unterflow-Eingaben im Eigenschaftenbereich.
- Geben Sie für jede Eingabe einen Namen und einen Wert oder Ausdruck ein.
Ergebnis: Die Eingaben sind konfiguriert und im Unterflowtext als $vars.<inputName> verfügbar.
Ausgabe
Der Rückgabewert des Unterflows ist für den übergeordneten Prozess als $vars.<subflowName>.output verfügbar. Sie verweisen in jedem nachgelagerten Knotenausdruck darauf, genau wie auf jede andere Knotenausgabe.
// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid
// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid
Variablen-Scoping
Unterflows erstellen ihren eigenen Variablen-Scope. Dies bedeutet, dass Variablen, die in einem Unterflow aktualisiert werden, einen Namensraum erhalten, um Konflikte mit dem übergeordneten Prozess zu vermeiden.
Außerhalb des Unterflows verweisen Sie auf die internen Variablen eines Unterflows als $vars.<subflowName>.<variableName>. Beispielsweise wird auf eine Variable counter innerhalb eines Unterflows mit dem Namen subflow1 der übergeordnete Prozess als $vars.subflow1.counter verwiesen.
Innerhalb des Unterflows greifen Knoten mithilfe des Standardmusters $vars.<nodeName>.<property> auf die Ausgabe ihrer gleichgeordneten Knoten zu. Sie können auch direkt aus dem Scope des übergeordneten Prozesses lesen.
Der Variablen-Namespace verhindert, dass die internen Variablen eines Unterflows übergeordnete Variablen mit demselben Namen überschreiben. Sie müssen Variablennamen nicht zwischen übergeordnetem und untergeordnetem Flow koordinieren.
Beispiel aus der Praxis
Ein übergeordneter Prozess, der einen Unterflow aufruft, um Bestelldaten zu validieren, bevor sie verarbeitet werden.
Übergeordneter Prozess:
- HTTP-Anforderung (
httpRequest1) – Ruft Bestelldaten von einer externen API ab. - Unterfluss (
validateOrder) – validiert die Bestelldaten und gibt ein Ergebnis zurück. - Entscheidung (
decision1) – Verzweigungen basierend auf dem Validierungsergebnis.
Innerhalb des validateOrder -Unterflows:
-
Skript (
script1) – überprüft, ob Pflichtfelder vorhanden sind und die Auftragssumme über Null ist.const order = $vars.validateOrder.orderData; const isValid = order.items.length > 0 && order.total > 0 && order.customerId !== undefined; return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" };const order = $vars.validateOrder.orderData; const isValid = order.items.length > 0 && order.total > 0 && order.customerId !== undefined; return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" }; -
Der Unterflow gibt die Ausgabe des Skripts als
$vars.validateOrder.outputzurück.
Zurück im übergeordneten Prozess:
Der Entscheidungsknoten wertet $vars.validateOrder.output.isValid === true aus und leitet entweder zu einem Erfüllungspfad oder einem Fehlerbehandlungspfad weiter.
Zugehörige Seiten
- Variablen und Datenfluss – Regeln für den Variablen-Scoping, Ausdruckssyntax,
$vars-Zugriffsmuster - Die Arbeitsfläche – Navigieren auf der Arbeitsfläche, Eigenschaftenbereich, Knotenpalette
- Fehlerbehandlung – Konfigurieren von Fehlerbehandlungen für Knoten, einschließlich innerhalb von Unterflows