A Literal Expression is the simplest form of DMN expression. It is commonly defined as a single-line statement or an if-else conditional block. As the expression becomes more complex, you might prefer a Boxed Context, or in order to improve the readability you can encapsulate some of the logic as a function in the DMN Library. The Literal Expression is a type of value expression used in both Decision Elements and BusinessKnowledgeModel (BKM) elements.
The icon on the top right corner of the Decision or BKM element indicates that it is implemented as a Literal Expression.
On a diagram, double-click on a Decision element or BusinessKnowledgeModel element.
The DMN Expression editor window is displayed, showing details of the selected element.
This image shows the DMN Expression editor window, as it appears for a Literal Expression.
The Literal Expression is a textual representation of the decision logic. It describes how an output value is derived from its input values, using mathematical and logical operations.
The expression editor window presents the Literal Expression as a table, with two key rows:
- Parameters: defines the input parameters used in the expression
- Literal Expression: where the formula for the expression is defined - this defines the output of the Decision
Toolbar for Literal Expression Editor
When a Literal Expression is selected, the layout of features accessible in the DMN Expression window is:
For more details refer to the Help topic 'Toolbar for Literal Expression Editor'.
Expression Editor and Intelli-sense support
In accordance with the FEEL language specification, parameter names can contain spaces, which makes the expression easier to read. Enterprise Architect also provides Intelli-sense support for editing the expressions, allowing for minimal typing and fewer mistakes.
Given a decision hierarchy such as the one shown, when editing the expression for 'Decision1', the inputs to 'Decision1' - namely 'Decision2', 'Decision3', 'InputData1' and 'InputData2' - will be available through Intelli-sense in the editor.
By right-clicking on the 'Expression' row of the DMN Expression window, then choosing the menu option 'Edit Expressions...', the expression code editor dialog is displayed. Pressing ' ' displays the Intelli-sense menu:
- For 'Decision' elements, all of the inputs to the decision will be displayed
- For 'BKM' elements, all of the input parameters will be displayed
In the generated code, the space inside a variable name will be replaced by an underscore.