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).

Was benötige ich an Actionhandlern?

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.

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 überprüfen. Abhängig vom Wert der Variable wird hier nun entschieden, welchen Weg der Prozess einschlagen soll. Dazu wird der SmartformDecissionHandler in einem XOR verwendet.

com.dooris.bpm.actionhandler.SmartFormDecissionHandler

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 hp_wiki_43_igx.zip
Subprozess sp_wiki_43_igx.zip