Files
2026-07-02 08:18:00 +02:00

1.7 KiB

subworkflow — Anderen Workflow einbetten

Zweck: Lädt eine zweite Workflow-XML (Name ohne .xml aus dem Workflow-Verzeichnis) und führt sie synchron im laufenden Workflow aus — inklusive Wartezuständen. Sub- und Parent-Workflow teilen sich keinen Ausführungsstatus, dieselbe XML kann also mehrfach eingebettet werden. Variablen werden per <pass> hinein- und per <return>/merge_prefix herausgereicht.

Parameter

Name Pflicht? Default Beschreibung
xml ja Name der Sub-Workflow-Definition (ohne .xml).
<pass><var name="…">wert</var></pass> nein Eingangsvariablen für den Sub-Workflow. Ohne <pass> erbt er den gesamten Parent-Kontext.
<return><var name="…" from="…"/></return> nein Rückgabevariablen: from = Name im Sub-Kontext (Default: wie name), name = Zielname im Parent-Kontext.
merge_prefix nein Hängt alternativ/zusätzlich den kompletten Sub-Kontext mit diesem Präfix in den Parent-Kontext.

Eingangswerte: Parent-Kontext (komplett geerbt) plus explizite <pass>-Variablen.

Ausgangswerte: Die <return>-Variablen bzw. alle Sub-Variablen unter <merge_prefix>…. Wartezustände (inkl. assign_to) werden aus dem Sub-Workflow durchgereicht. Hinweis: Der Sub-Workflow erscheint nicht als eigener Eintrag im Dashboard — dafür stattdessen einen regulären Workflow-Start nutzen.

<task type="subworkflow" id="freigabe">
  <config>
    <xml>freigabe-modul</xml>
    <pass>
      <var name="betrag">{{summe}}</var>
    </pass>
    <return>
      <var name="freigabe_decision" from="decision" />
      <var name="freigabe_comment"  from="comment" />
    </return>
  </config>
</task>