Skip to main content
Skip table of contents

Gateways

Gateway

An exclusive gateway determines the starting edge on the basis of specific conditions.

An exclusive gateway recognizes 2 types of starting edges

  • Conditional flow: The edge verifies a condition

  • Default flow: Default flow is selected if none of the previously checked conditions apply

Conditional gateway

The conditions are maintained in the starting edges of the gateway. The language used here is currently still Java EL (expression language) and not Groovy.

BPMN_Model_Gateways_EN.png

More complex reports should therefore be checked in a downstream script task to ensure that the conditions will only have to check a few variables.

Default flow is an option in the properties of the edge. Only one edge can have this option.

BPMSuite_Properties_Conditi_EN.png

Event-based gateway

You can control the process flow via the event-based gateway in such a way that its later path depends on the first occurrence of an intermediate event. For more information please read the chapter on intermediate events.

Formulation of conditions/logical expressions - Java EL (expression language) syntax

Operators

  • Arithmetic: +, -, *, /

  • Logical: and, or, not

  • Relational: ==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le

  • Empty: The empty operator can precede the expression to check the value for "empty" or null. The variable must exist.

  • Conditional: A ? B : C. Ternary "if" command

Reserved words

and

or

not

eq

ne

lt

gt

le

ge

true

false

null

instanceof

empty

div

mod

Syntax check

The expression syntax will be checked upon leaving the condition field in the edge properties. The validity or notation of variables or operators will, however, not be checked.

Examples for EL expressions

Expression

Variable

Result

${intVar gt (4/2)}

intVar=1

false

${doubleVar le 3}

doubleVar=3‘

true

${stringVar eq "ABC"}

stringVar="ABC"

true

${(10*10) ne 100}


false

${'a' lt 'b'}


true

${not booleanVar}

booleanVar=true

false

${!empty param}

param=null or param=””

false.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.