Camunda BPMN Variables as DMN Input


#1

Hi guys,

i’m quite new to Camunda and DMN. The scenario is, that i have a User Task that collects serval camunda Variables through an embedded form. In my BPMN i want to pass some of the variables to a DMN to get a (collection of) results.

What i tried in DMN is to set the Input Variable Names the same as in my embedded form by using cam-variable-name=“xx” (The variable type is also the same on both).

It seems that my Input data will not be used when camunda executes the DMN, because when i output the Result Variable (with syso) its empty. How can i make this work?

Result Variable is set and Map Decision Result are both set.

Thanks a lot!
Kind regards


#2

Can you share your bpmn?


#3

Sure please be kind its my first model :blush:

pipeline.bpmn (35.2 KB)

I upload the other files in the following posts since i’m a new user and cant post more than one attachment in a single post…


#4

This is the DMN

buildpipeline.dmn (4.4 KB)


#5

And this is the form where I set the Camunda Variables (and where I want to set the DMN Input Variables)


#6

Can anyone help me please?


#7

Hi @stegerpa,

I tested your process and decision table with the attached unit test and my test is green.

InMemoryH2Test.java.txt (2.2 KB)

What result did you observe?

Hope this helps, Ingo


#8

Hi @Ingo_Richtsmeier thanks for testing and sharing the results. My problem is that the output variables i have set in the DMN seems to be empty after i run a test.

So i expect that i fill the input variables for the DMN through the embedded form, then process it which creates any output that is stored in the output variable and i can access that. Hope i made my point clear.


#9

Found a solution. I’ll share it in case anyone get a similar problem.
As you can in the screenshot of the embedded form all input value are lowercased. But the Camunda Engine is case-sensitive, in my DMN i have the input variables uppercased - that was the problem.

I changed the values and the DMN processed my variables!