I used the official Camunda DMN simulator to test that when we have many table decisions (e.g. Dish and Beverages), with this configuration in inputs :
- Decision Table : Beverages
The dish is calculated and implicitly passed in as an input of the Beverages table. (When we selected as a decision table All Tables, we have the same result).
I have tested the below three forms of the DMN engine using the same DMN file (the official example Dinner Decision) using the same configuration of inputs, but I don’t have the same outcome. Actually, I get an error that stipulates that the dish input is required for the table Beverages. This means that the dish value (output of Dish, and input of Beverage) is not calculated implicitly. All the below forms of the DMN engine require the dish input to be provided explicitly.
The below DMN engines are to be found here : GitHub - camunda-community-hub/dmn-scala: DMN engine written in Scala
- Standalone via REST endpoint
- Integrated into Zeebe as job worker
- Community Zeebe DMN Worker
My question is : why do the three DMN workers mentioned above behave differently from the Camunda DMN simulator ?