Book a Demo

Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Prev Next

Edit DMN Expression Dialog

The 'Edit DMN Expression' dialog is used for setting expressions in the Boxed Content, Invocation and Literal Expression element types. It provides Intelli-sense support for constructing expressions based on the FEEL grammar, as well as the code languages that can be used for code generation of the model.

DMN Expression Editor and Intelli-sense support

To help you edit expressions with less typing and fewer mistakes, Enterprise Architect provides Intelli-sense support for editing the expressions.

Note that the parameter and Context Entry variable names can contain spaces, according to the FEEL language specification. This feature is intended to make each expression easy to read.


Given this decision hierarchy, the expression in 'Decision3' is able to use the outputs from the two referenced Decisions.

To open the 'Edit DMN Expression' dialog:

  1. Double-click on the Decision element in the diagram, to display the DMN Expression window.
  2. Right-click on the expression line and select the menu option 'Edit Expression'.  The 'Edit DMN Expression' dialog displays.
  3. Click on a line and press Ctrl+Spacebar to show the Intelli-sense menu:
  • For a BusinessKnowledgeModel expression all the parameters will be included
  • For Decision expression all the required Decisions will be included
  • All Context Entry Variables earlier than the current one will be included (Context Entry Variables later than the current one are excluded)

In this example, editing a BKM Boxed Context expression, the Input Parameters are shown in the  Intelli-sense menu:

Language selection

The DMN Model can be generated as source code in JavaScript, Java, C# or C++. As the syntax differs between the languages, Enterprise Architect provides language-override pages for each language. If no override code is specified for a language, the expression that is defined for the FEEL language will be used.

Note: In the generated code, the space inside a variable name will be replaced by an underscore.

Learn more