Switch Job

With this job, you can build an execution chain based on conditions. A different load or sub-job is executed, depending on the value of a dynamical, data-driven condition, as in an IF or CASE statement of a programming language.

There are two modes for switch jobs: Switch on source and Switch on job status. The modes are described below.

Mode: Switch on source

The condition for the switch is the value of any extract or transform in a particular column or row. A data source must be specified, as well as the name of the column in the source. A row index) has to be specified; by default, it is the first row. In the easiest case, the data source contains only one column and one row.

Data source A list of extracts, transforms, and loads from the Integrator project.
Column A list of column names from the selected data source.
Row If applicable, a list of row names from the selected data source.

Mode: Switch on job status

The condition is the result code of switch condition. In this case the only possible values are "statusOK", "statusWarnings", and "statusErrors". Note that the selected job should have Fail on status set to "none", otherwise the execution might terminate before the switch condition is applied (in case of "statusWarnings" or "statusError").

Job List of jobs from the Integrator project
Job status scope When the Switch job is integrated as a sub-job, the "Job status scope" parameter can also be applied. This parameter does not affect a directly executed Switch job. There are two options:
  • Global (default): all warnings and errors of the whole execution, and those before the Switch job's processing are considered for the job status in the switch condition.
  • Local: only warnings and errors of the execution defined in the Switch job are considered for the job status in the switch condition.

Switch conditions

If the condition value matches one of these switch conditions, the corresponding job is executed. The values for each expression depend on the operator used; specific values are noted when necessary in the descriptions below.

Filter type accept: all nodes that fulfill the criteria are included in the selection.

deny: all nodes that fulfill the filter criteria are excluded from the selection.

Operator / Value

equal: only the specified elements are filtered. Filter behavior depends on the type of data:

  • String: the filter must be exactly equal to the source value.
  • Decimal number (floating or double): the filter value must be the most minimal representation of the value. For example, if the source value is 1.0, the filter value must be 1. If the source value is 1.5000, then the filter value must be 1.5.
  • Non-decimal number (int or long): the filter value must be exactly the same as the number.
  • Boolean (true/false): the filter must be "true" or "false" as appropriate.

modulo: condition applies when the filter value is 0 in the source value modulo.

inAlpharange:alphanumerical values in a particular range are filtered. Examples:

  • inclusive range: “[A100,A200]”
  • exclusive range: “(A100,A200)”
  • half-open interval: “[A100,)”
  • half-open interval: “(,A100)”

inRange: numerical values in a particular range are filtered. Can also be used as a means of equality check for numerical values with the same upper and lower limit, such as [0,0] to check for the numerical value 0. Examples:

  • inclusive range: “[100,200]”
  • exclusive range: “(100,200)”
  • half-open interval: “[100,)”
  • half-open interval: “(,100)”

isEmpty: empty values (blank, space or multiple space values). For this operator, the Value field should be left blank.

isNull: Value should be set to 0.

like: filters the dimension elements according to regular expressions.

Execute job Job that is executed if the condition applies
Default job Here you can define a default job, which will be executed if none of the switch conditions matches.

What's in this article:

Updated October 21, 2025