Gateways Conditions
Last updated
Last updated
In this section gateways evaluation conditions will be described in detail.
When a Split Gateway is in a Process path the BPM Execution Engine will evaluate all possibilities. And it will follow a sub set of all possible path (the sub set depends on the gateway type and the condition).
The conditions are defined inside Bizagi Modeler ®.
The condition must be defined as a Block of only one argument. This argument (process)is the BPM Process Instance itself. In the example above one of the conditions is:
Block: [:process (argumentName) | (pipe) condition] Where:
process - represent the process instance.
checkResult - is the name of a process's variable (a field of any forms of the process or a defined variable).
'rejected' - is the value to be used in the comparison.
In this case the variable [checkResult] is a String.
Basic Comparators: "=" - equal "!=" - not equal ">="- greater than "<" - less than ">="- greater than or equal "<=" - less than or equal
Example with all variable types: Number
Boolean In this case the field is defined as Boolean.
It is also possible to be defined as:
String
Date
Time
TimeStamp
The conditions can be combined:
The conditions can compare two Process variables:
The name of the variable should NOT have "-" Hyphen character. If it is so then the evaluation condition must be defined as follow:
The perform sentence (perform:) must be used with the variable name enclosed with single quotes ('string-hyphen-variable').
Hyphen Minus "_" is accepted as it is:
If a form has a field named 'name' and is used in a gateway condition then the codition must be defined as:
This rule is mandatory.
List of names in the same situation: andContextApplications applicationName assignedUserNames createdTime creator creatorEvent creatorName creatorTask currentActivities definition endEvents executedActivities executedGateways executedScripts generateProcessMap getActiveArtifacts getApplication getApplicationName getContextApplications getDefinitionName getExecutedArtifacts getFinishedProcessMatrix getProcessesTreeAsCollection getProcessMatrix getRunningArtifacts getTopProcess hasAndContext hasContextApplications hasFinalized hasOrContext hasSubprocesses id inheritContextApplications initialize isInCorruptedState isSubProcess isTopProcess orContextApplications parentProcess postExecution printAndContext printCurrentRols printOrContext printParentName printProcessState printRunningArtifacts processId processName runningGateways startEvent startEventIsAnonymous subprocesses transitions triggerStartEvent userAssignments version