Hi guru,
In programming logic, there is IF, ELSE IF, ELSE IF...
I am wondering if a decision gateway connects to another decision gateway is allow in BPMN rule.
Please refer to the attached screenshot.
Please tell me if it is against BPMN rule.
Thanks and regards,
Anning
Hi,
I can see no reason by the specification that would object to this pattern. The exclusive gateway conditions work with data present in the process. So technically this is possible.
I personally do not like the style. In your example I would prefer a single exclusive gateway with four possible results, with a more complex condition denoted on each sequence flow.
In your variant you begin thinking in terms of decision trees rather than process flow. In fact any of the four tasks directly follows your decision task.
Just my humble opinion.
Hi Zschuckelt,
The reason I need two gateway decision is that activities performed by Task C and the group of Task B are entirely different. Meaning, this particular process that I am working on first have to check the first Gateway Logic.
Hence, I believe I am not breaking the BPMN rule based on your feedback.
Thanks.
Anning.
As I said, it is perfectly fine. In my preferred option you would need 4 condition expressions:
- A = Yes
- A = No and B=1
- A= No and B=2
- A= No and B=3
If this is becoming too complex, you might consider a "Business Rule" task before the exclusive gateway, which represents a decision table with some simple outcome: 1, 2, 3, 4. Then your process would be looking very lean again and you would have one object where to maintain the business logic - or even delegate this to a rule engine where you implement the business rule, if this is going to be executable.