How does Camunda handle a DMN Table that has multiple outputs

If I have a DMN Table that has two outputs, say: screenSize and brand.

  1. Will they be stored in the decisionResult as a Map of some sort? If so, what if one is type string and another integer/number?
  2. How do I access the individual variables?
  3. If it’s a Map or Collection object, can I directly assign it to a process variable so it’s available to the process as is?

Can someone provide links to documentation and more importantly an example of how it actually works?

Thank you,
Daniel

Hi @segura2794,

If you have multiple output columns and a single hit policy (First, Any, or Unique) the result will be stored as a map. If you have a multi hit policy (Rule Order, Collect), the result will be stored in a list containing maps. The output name defines the key inside the map. Using your example

  • decisionResult.screenSize accesses the screen size
  • decisionResult.brand the brand

The result variable will contain the map. If you want to split it into two variables, you can use an output mapping.

See the following links in the documentation:

Here is a minimal example:
call-decision.dmn (2.1 KB)
decision-outputs.bpmn (3.3 KB)