Dies ist eine alte Version des Dokuments!
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).
Im Subprozess werden am Entscheidungspunkt zwei Handler benötigt:
1. Auf Node-Enter wird mit dem ProcessVariableSetter eine Prozessvariable gesetzt. Dies ist für beide Entscheidungen notwendig.
Handlerklasse:
com.dooris.bpm.actionhandler.ProcessVariableSetter
Parameter zum Fortführen des Prozesses:
name=prozessBeenden;value=Ja;
Parameter zum Beenden des Prozesses:
name=prozessBeenden;value=Nein;
2. Auf Node-Leave wird die gesetzte Variable mit dem 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.
Handlerklasse:
com.dooris.bpm.actionhandler.WriteBackProcessVariableHandler
Parameter:
includedVariables=prozessBeenden;
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 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.
Mit einem Doppelklick auf das XOR-Symbol öffnet sich das Fenster der Symboleigenschaften. Unter dem Menüpunkt „Ausführung“ kann ein Handler hinzugefügt werden. Im Feld Handler wird die Handlerklasse geschrieben.
com.dooris.bpm.actionhandler.SmartFormDecissionHandler
Nun müssen noch dem Handler noch folgende Attribute hinzugefügt werden:
Parameter
Name | Value |
---|---|
defaultTransition | Nein |
processVariable | prozessBeenden |
Ausgänge
Name | ID |
---|---|
Nein | Nein |
Ja | Ja |
Daraufhin kann der Prozess deployet und gestartet werden.
iGrafX Prozesse: (siehe Zip-Files)
Hauptptrozess: hp_wiki_43_igx.zip
Subprozess: sp_wiki_43_igx.zip