FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)// ====== PredefinedDecisionHandler ====== ==== Description ==== The PredefinedDecisionHandler is used in order to [[en:software:tim:prozessSteuerung|steer a process]]. In other words, the user can determine an appropriate outlet for every XOR-gateway of the process instance ahead of time. As see in the following example, the process course can also be determined ahead of time by means of the first XOR-gateway. All XOR-gateways thereafter act in accordance with the decision of the first. ------ ==== Action Class ==== com.dooris.bpm.actionhandler.PredefinedDecisionHandler \\ ---- ==== Attributes of the XOR-Gateway ==== === variableName === Here, an arbitrary variable name is given. If the same variable is used in every XOR-gateway, then the outcome chosen in the process route will be applied to every XOR-gateway (see example). === Process flow in TIM === After the first activity === Outcomes === Meaningful (explanatory) names should be defined for the XOR-gateway outcomes. The IDs **must** be given. ---- ==== Example - production process ==== The following example shows a fictitious process for manufacturing lamps. During production, either floor lamps or desk lamps are produced. Using the PredefinedDefinitionHandler, the first XOR gateway can be used to steer the entire remaining process. {{software:tim:actionhandler:predefinedDecisionHandler.png}} === Deploying the handler === The PredefinedDecisionHandler is integrated into an XOR-gateway in a manner similar to the [[en:software:tim:actionhandler:variabledecisionhandler|VariableDecisionHandler]]. The action handler class is entered into the **Handler** text field. As described above, the handler needs the **variableName** parameter, which is given the value of **Model** in the present example (see screenshot). The value of variableName can be chosen arbitrarily; however, it should convey information about its function. Lastly, the outcomes of the XOR-gateway must be defined. Here, it is again advisable to choose expressions that describe the pursued process path. In the case of the lamp-manufacturing process, **FloorLamp** and **DeskLamp** were chosen. {{software:tim:actionhandler:predefinedDecisionHandler3.png}} === Configuring additional XOR-gateways === In order to assure that the process route can be steered using the first XOR-gateway, the second XOR-gateway must be configured accordingly. In the lamp-manufacturing process, either a floor lamp or a desk lamp should be produced. Hence, the second XOR gateway contains the same parameters as the first XOR-gateway (see screenshot). {{software:tim:actionhandler:predefinedDecisionHandler3.png}} ---- === Controlling the process in TIM === {{software:tim:actionhandler:predefinedDecisionHandler4.png}} \\ After the process begins, the desired process path is chosen via the [[en:software:tim:prozessSteuerung|process controlling]] in the process manager client. In the lamp-manufacturing example, the decision pertains to choosing if a floor lamp or a desk lamp should be produced. {{software:tim:actionhandler:predefinedDecisionHandler2.png}} \\ Once the process reaches the second gateway, the decision made at the first gateway is repeated. ==== Special case: multiple decisions ==== In a new version of the lamp manufacturing process, floor lamps with a 100W lightbulb and a large base are available as well as lamps with a 60W lightbulb and a small base. For this, two additional XOR-gateways are needed. {{software:tim:actionhandler:predefinedDecisionHandler5.png}} \\ Both of the new XOR-gateways are connected using the PredefinedDecisionHandler; the decision concerning the size of the lamp affects the selection of the lamp-base type. === Process controlling in TIM === In the Process Controlling tab, two variables must be created; these are named **Model** and **Size** (see screenshot) {{software:tim:actionhandler:predefinedDecisionHandler6.png}}