When you want to evaluate dependant decisions you have basically three options on the Camunda Platform:
Use a decision flow: A small BPMN process referencing the decisions as Business Rule Tasks. Make sure that this process is soley a decision flow, meaning it does not contain real business process logic. It is important to keep workflow and decision logic seperated. But you can use BPMN easily to chain decisions on the Camunda BPM Platform.
Use a custom function in expression language. Then you can call another DMN table in the background and use the output from there as Input.
Do the chaining harcoded in Java somewhere.
Model a normal BPMN process and use Business Rule Tasks. See Example for details.
- Write a Process Engine Plugin, e.g. DmnDecisionChainingPlugin which registers a
- DmnDecisionChaniningFunctionMapper providing the dmn('decisionKey', variableContext) function (please note that we need the VariableContext here)
- and evaluate the referenced DMN table by using a bit of internal API in order to directly use the VariableContext.
Best refer to the Example Testcase to see everything in action.
When using in a container please make sure to install the plugin properly, see User Guide: Process Engine Plugin. For WildFly it means for example to add the Java library to the camunda engine module.