Decision Task

Decision Task

Decision Tasks are used to execute Business Rules encoded in DMN tables. You only have to indicate a Decision Table Reference; the mapping of the variable is configured in the Decision Table. See Decision Table Editor for details on creating a Decision Table.

Each input in the Decision Table is mapped to a variable which must be available in the process. The same is true for the output columns which do not necessarily have to exist.

Once the task is executed, the inputs are checked according to the Hit Policy defined in the table. If at least one rule matches, the values of the output columns are stored in the variables indicated in the table.

Example

In the following example, a Decision Task is used to determine the credit rating of a potential client.

Decision Task

Attributes

Group Attribute Description

General

ID

The unique identifier of the element within the process model.

Name

The name of the element. This is the name displayed in the diagram.

Documentation

A description and additional information about this element.

Details

Decision table reference

Reference to the DMN table to be executed.

Throw error if no rules were hit

Determines whether an error should be thrown if no rules of the decision table were hit and consequently no result was found.

Fallback to default tenant

Indicates that the Decision task is created with the default tenant if it is not available on the current tenant. This is only relevant if the application is running in a multi-tenant setup.

Asynchronous

When enabled, the activity is started as an asynchronous job. The process state is persisted before this element is executed. Then the process execution is resumed asynchroneously. This can be used when the execution of an activity takes a long time to return the user interface. However, if an error occurs before the following wait state, there is no direct user feedback.

Execution listeners

Active Execution Listeners of the activity. This lets you react to the following events:

  • Start: Occurs when the activity is started.

  • End: Occurs when the activity is completed.

Skip expression

Defines an expression which is evaluated before executing the task. If it evaluates to true, the task is skipped.

Skip expressions are only be evaluated if there is a process variable _ACTIVITI_SKIP_EXPRESSION_ENABLED with the boolean value true.

Is for compensation

Determines whether the activity can serve as a compensation for another activity.

Multi instance

Multi instance type

Determines if multiple instances of this activity are created. There are three choices:

  • None (default, only one instance is created).

  • MI parallel (activities are created in parallel. This is a good practice for User Tasks).

  • MI sequential (activities are created sequentially. This is a good practice for Service Tasks).

Once a type other than None is chosen, the following options appear:

  • Collection: The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.

  • Element variable: The variable under which each element is available to the newly created instance.

  • Element index variable: The variable under which the current number of iterations is stored.

  • Completion condition: An expression which, if it evaluated to true, stops the creation of new instances.

  • Cardinality: An expression or numeric value (integer) which determines how many instances are created.

Visual

Font weight

The font weight of the element in the diagram.

Font size

The font size of the element in the diagram.

Font color

The font color of the element in the diagram.

Font style

The font style of the element in the diagram.

Background color

The background color of the element in the diagram.

Border color

The border color of the element in the diagram.