Conditional Logic (like gateways in bpmn) in DMN

Hi,

I have a scenario where I need to select a DMN(decision table) based on the output from another DMN(decision table) just like how the gateways work in the bpmn. How can I achieve this with DMN engine?

Thanks in advance!!!

Hi @alanfrancis,

I guess you are calling DMN as business rule tasks from a BPMN-Model? If so, you can specify an expression in the “Decision Ref”-property of the second task and interpret the value returned by the first business rule task (have a look at “Result Variable”-Property of that task).

Best,
Ragnar

2 Likes

Hi @Ragnar. Thanks for the reply. I think I missed a point here. Actually I was referring to a single DMN, which would be a DRD with multiple decision tables inside that, and in the BPMN -Model only that single DMN will be there. I need to control the flow in the DRD between the multiple decision tables using their outputs. Hope this is more clear now.
Thanks in advance.

Ok, I got the point. You want to have some kind of dynamic hierarchy in the DRD. I guess that this is not possible, since the connections in DRD are static. I would suggest to split it into multiple DRDs and make the decision what to call in BPMN. But maybe one of my colleagues will proof me wrong :wink:

Best,
Ragnar

1 Like

Hi @alanfrancis,

you could also use a decision literal expression and invoke a decision dynamically depending on the result of a required decision. But you have to build the invocation logic on your own.

I would recommend Ragnar’s way.

Best regards,
Philipp

2 Likes

@Ragnar, @Philipp_Ossler, Thanks for the clarifications. I think I would work on making multiple DRDs.