Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:tim:bausteine:subprocess_ends_main_process_igrafx [2013/11/05 16:00] martin.oehm |
software:tim:bausteine:subprocess_ends_main_process_igrafx [2021/07/01 09:52] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
==== Sinn und Zweck des Bausteins ==== | ==== Sinn und Zweck des Bausteins ==== | ||
+ | |||
Der Hauptprozess soll aus dem Subprozess beendet werden können. Hierfür wird im Subprozess entschieden (mittels XOR-Gateway), ob der Hauptprozess nach Beenden des Subprozesses, beendet wird oder weitergeführt werden soll (wiederum mittels XOR-Gateway). | Der Hauptprozess soll aus dem Subprozess beendet werden können. Hierfür wird im Subprozess entschieden (mittels XOR-Gateway), ob der Hauptprozess nach Beenden des Subprozesses, beendet wird oder weitergeführt werden soll (wiederum mittels XOR-Gateway). | ||
==== Was benötige ich an Actionhandlern? ==== | ==== Was benötige ich an Actionhandlern? ==== | ||
- | **Im Subprozess** | ||
- | werden am Entscheidungspunkt zwei Handler benötigt: | ||
- | 1. Auf Node-Enter wird mit dem [[software:tim:actionhandler:processvariablesetter|ProcessVariableSetter]] eine Prozessvariable gesetzt. Dies ist für beide Entscheidungen notwendig. | + | **Im Subprozess** werden am Entscheidungspunkt zwei Handler benötigt: |
+ | |||
+ | 1. Auf Node-Enter wird mit dem [[:software:tim:actionhandler:processvariablesetter|ProcessVariableSetter]] eine Prozessvariable gesetzt. Für jede Entscheidung wird darin ein anderer Inhalt gesetzt. | ||
**Handlerklasse:** | **Handlerklasse:** | ||
Zeile 17: | Zeile 18: | ||
name=prozessBeenden;value=Ja; | name=prozessBeenden;value=Ja; | ||
</code> | </code> | ||
+ | |||
**Parameter zum Beenden des Prozesses:** | **Parameter zum Beenden des Prozesses:** | ||
<code> | <code> | ||
name=prozessBeenden;value=Nein; | name=prozessBeenden;value=Nein; | ||
</code> | </code> | ||
- | {{ :software:tim:bausteine:sp_stops_hp_1.png?300|}} | ||
- | {{ :software:tim:bausteine:sp_stops_hp_2.png?300|}} \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ | ||
- | |||
+ | {{ :software:tim:bausteine:sp_stops_hp_1.png?300}}{{ :software:tim:bausteine:sp_stops_hp_2.png?300}} | ||
- | 2. Auf Node-Leave wird die gesetzte Variable mit dem [[software:tim:actionhandler:WriteBackProcessVariableHandler |WriteBackProcessVariableHandler ]]an den Hauptprozess übergeben. Auf der direkt darauffolgenden XOR-Entscheidung im Hauptprozess wird die übergebene Prozessvariable überprüft und entschieden, ob der Prozess beendet oder weitergeführt oder beendet wird. | ||
- | + | ||
- | Auf der Node, welche die Weiterführung des Prozesses verursacht, muss die zu übergebende Prozessvariable auf "Nein" gesetzt werden. \\ | + | |
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | 2. Auf Node-Leave wird die gesetzte Variable mit dem [[:software:tim:actionhandler:writebackprocessvariablehandler|WriteBackProcessVariableHandler ]]an den Hauptprozess übergeben. | ||
**Handlerklasse:** | **Handlerklasse:** | ||
Zeile 40: | Zeile 47: | ||
includedVariables=prozessBeenden; | includedVariables=prozessBeenden; | ||
</code> | </code> | ||
- | ------ | ||
- | **Im Hauptprozess** wird, unmittelbar auf den Subprozess folgend, eine XOR-Entscheidung benötigt, um die vom Subprozess übergebene Variable zu übernehmen. Abhängig vom Wert der Variable wird hier nun entschieden, ob der Prozess beendet oder weitergeführt wird. Um die im Subprozess gesetzte Prozessvariable auszuwerten, wird der [[software:tim:actionhandler:smartformdecissionhandler|SmartformDecissionHandler]] im XOR verwendet. Dabei wird der vom Subprozess gesetzte Wert in der Variable "prozessBeenden" vom XOR im Hauptprozess überprüft. Dieser leitet den Prozess, abhängig vom gesetzen Wert, in die entsprechende Richtung weiter. | ||
- | |||
- | {{ :software:tim:bausteine:SP_stops_HP_3.png?300|}} | ||
- | iGrafX Prozesse: (siehe Zip-Files) \\ | + | ---- |
- | **Hauptptrozess:** {{:software:tim:bausteine:hp_wiki_43_igx.zip|}} \\ | + | |
- | **Subprozess:** {{:software:tim:bausteine:sp_wiki_43_igx.zip|}} | + | **Im Hauptprozess** wird, unmittelbar auf den Subprozess folgend, eine XOR-Entscheidung benötigt, um die vom Subprozess übergebene Variable zu überprüfen. Abhängig vom Wert der Variable wird hier nun entschieden, welchen Weg der Prozess einschlagen soll. Dazu wird der [[:software:tim:actionhandler:variabledecisionhandler|VariableDecisionHandler]] in einem XOR verwendet. |
+ | |||
+ | {{ :software:tim:bausteine:sp_stops_hp_3.png?300}} | ||
+ | |||
+ | <code> | ||
+ | com.dooris.bpm.actionhandler.VariableDecisionHandler | ||
+ | </code> | ||
+ | |||
+ | **Parameter** | ||
+ | |||
+ | ^Name^Value| | ||
+ | |defaultTransition|Nein| | ||
+ | |processVariable|prozessBeenden| | ||
+ | |||
+ | Die Angabe der "defaultTransition" ist optional. Damit wird die der weitere Prozessverlaufs bestimmt, falls keine manuelle Entscheidung getroffen wurde.\\ | ||
+ | \\ | ||
+ | Nun müssen den Ausgängen die IDs zugewiesen werden, damit der Prozess den jeweiligen Weg einschlagen kann. Die IDs entsprechen dabei den im Subprozess vergebenen Inhalten ("Ja" oder "Nein") der Variable "prozessBeenden" (siehe oben). | ||
+ | |||
+ | **Ausgänge** | ||
+ | |||
+ | ^Name^ID| | ||
+ | |Nein|Nein| | ||
+ | |Ja|Ja| | ||
+ | |||
+ | Daraufhin kann der Prozess deployed und gestartet werden. | ||
+ | |||
+ | iGrafX Prozesse:\\ | ||
+ | **Hauptptrozess** {{:software:tim:bausteine:hp_wiki_43_igx.zip|hp_wiki_43_igx.zip}} \\ | ||
+ | **Subprozess** {{:software:tim:bausteine:sp_wiki_43_igx.zip|sp_wiki_43_igx.zip}} | ||
+ | |||
+ | \\ | ||
+ |