Siebel Business Process Framework: Workflow Guide > About Workflow Process Steps and Connectors > About Conditional Logic on a Branch Connector >

Defining Conditional Logic on a Branch Connector


You define conditional logic on a branch connector by using the Compose Condition Criteria dialog box. A branch connector can be a connector that emanates from a start step, decision point, wait step, or User Interact step. Values listed in the Compose Condition Criteria dialog box are constrained by the value defined in the Business Object property for the workflow process. To display this dialog, you right-click a branch connector, then choose Edit Conditions.

To view an example that uses conditional logic on a connector, see Defining Condition Criteria for the Workflow Process.

Fields in the Compose Condition Criteria Dialog Box

Table 22 describes fields you set in the Compose Condition Criteria dialog box to define criteria for a connector that contains conditional logic.

Table 22. Description of Fields in The Compose Condition Criteria Dialog Box
Field
Description
Possible Value

Compare To

Indicates where the comparison value is coming from.

(Required). The choices available include:

  • Business Component
  • Process Property
  • Expression
  • Applet

Operation

Identifies the comparison operation.

This Must Match. The current value must match exactly, including case.

One Must Match. One or more values must match exactly, including case.

All Must Match. All of the values must match exactly, including case.

None Can Match. None of the values can match exactly, including case.

This Must Match (ignore case). The current value must match without regard to case.

One Must Match (ignore case). One or more values must match without regard to case.

All Must Match (ignore case). All of the values must match without regard to case.

None Can Match (ignore case). None of the values can match without regard to case.

Greater Than. Value must be greater than the comparison value.

Less Than. Value must be less than the comparison value.

Between. Value must be between a range of values.

Not Between. Value cannot be between a range of values.

Is Null. Value must be null.

Is Not Null. Value cannot be null.

Object

The name of the associated business object.

This value is chosen from a picklist of business objects.

Field

This is a required value when Applet is the Compare To value.

The name of the field within the named applet.

Values

(This cell is intentionally empty.)

The Values property is dynamic based on the Compare To property. The Values property is for storing data to be used in the condition evaluation.

To define conditional logic on a branch Connector

  1. In the Process Designer, right-click the connector on which you need to define conditional logic.
  2. Choose Edit Conditions.

    The Compose Condition Criteria dialog box displays.

  3. Compose a condition.
  4. Click OK.

Building Expressions with Expression Builder

The Compose Condition Criteria dialog box uses the Expression Builder to create conditional logic. This topic describes parts of the Expression Builder, including Compare To options, operations, and patterns.

Compare To Options

Table 23 describes Compare To options and their required and optional values.

Table 23. Description of Compare To Options in the Compose Criteria Dialog Box
Compare To
Operation
Object
Field
Value

Applet. Compare the run-time value of an applet column to a literal(s).

Comparison operation. All operations allowed.

The name of the applet.

The column in the applet.

One or more literals for comparison.

Business Component. Compare the run-time value of a buscomp field to a literal(s).

Comparison operation. All operations allowed.

The name of the business component.

The field in the business component.

One or more literals for comparison.

Expression. Evaluate expressions and determine whether they return true.

Specifies how effects of multiple expressions stack. Only applicable when multiple values are specified in the Values property.

Operations allowed include:

  • All Must Match
  • None Can Match
  • One Must Match
  • This Must Match
  • Four Ignore Case variations of these operations.

For more information, see Comparison Operations.

(Optional) The name of a business component, if business component fields are referenced in the expressions. Fields of at most one business component can be referenced in the expressions.

(This cell is intentionally empty.)

One or more expressions

Process Property. Compare the run-time value of a process property to a literal(s).

Comparison operation. All operations allowed.

The name of the process property.

(This cell is intentionally empty.)

One or more literals for comparison.

Comparison Operations

This topic describes the comparison operations available.

Simple Comparison Operations

Simple comparison operations involve comparisons that can be expressed in simple expressions without the need for iterative operations. Values for these operations include:

  • Between. The comparison succeeds if the run-time value of interest is between two predefined literal values. This comparison requires exactly two values in the Values property, which is enforced by the Process Designer.
  • Not Between. The comparison succeeds if the run-time value of interest is not between two predefined literal values. This comparison requires exactly two values in the Values property, which is enforced by the Process Designer.
  • Greater Than. The comparison succeeds if the run-time value of interest is greater than a predefined literal value. Logically, only one value is needed in the Values property.
  • Less Than. The comparison succeeds if the run-time value of interest is less than a predefined literal value. Logically, only one value is needed in the Values property.
  • Is Null. The comparison succeeds if the run-time value of interest is null/empty. No value is required in the Values property.
  • Is Not Null. The comparison succeeds if the run-time value of interest is not null/empty. No value is required in the Values property.
Iterative Comparison Operations

Iterative comparison operations involve comparisons that involve multiple iterations on the literal values or expressions in the Values property, or iterations on child business component records, to derive a Boolean result.

The ways in which an iterative operation can be defined that results in different iterative behavior include:

  • When multiple values are specified in the Values property.
  • When multiple child business component records exist in the current workset. A child business component is a business component that is not the primary business component in the current business object that the workflow is working on. A child business component is involved in the comparison if the Compare To option is "Business Component" or "Expression," and the Object field is specified as the name of a child business component. Multiple records can exist in the current workset for the child business component if multiple records were returned when the child business component was last executed.

Iterative comparison operators that are available include:

  • All Must Match

    Multiple value behavior. If the Compare To option is anything but Expression, a literal is defined and this comparison succeeds if at least one value matches. If the Compare To option is Expression, then this comparison succeeds if every expression evaluates to true.

    Multiple child buscomp record behavior. Child business component records are used for comparison and the overall comparison succeeds only if the comparison succeeds for every one of the records.

    Consider an example where All Must Match and multiple child business components are used. In this example, Account is the business object, and the condition is described in the following table:

    Compare To
    Operation
    Object
    Field
    Values
    Business Component
    All Must Match
    Contact
    First Name
    John, Sam

    In this example, Contact business component records in the current workset must have a first name of John or Sam for the comparison to succeed. In this example, the workset is the child Contact record for the particular Account record the workflow is processing.

  • This Must Match

    For the comparison to succeed, field values of the active row of the current child business component instance must match the condition values specified for the connector

    When Remote Asynchronous is used, the workflow is resumed from WfProcMgr. Because the child business component instance is not preserved in WfProcMgr, the child business component's active row becomes lost. For this reason, the conditional connector stops working. If you must use Remote Asynchronous, then use a condition operation other than This Must Match. Otherwise, use Local Synchronous.

    Multiple value behavior. If the values involved are literal values, the comparison succeeds when at least one value matches. If the values involved are expressions, the comparison succeeds if at least one expression is evaluated to true.

    Multiple child buscomp record behavior. Only the current child business component record is used for comparison and the overall comparison succeeds if the comparison succeeds for the current record.

  • None Can Match

    Multiple value behavior. If the values involved are literal values, the comparison succeeds when none of the values matches. If the values involved are expressions, the comparison succeeds when none of the expressions is evaluated to true.

    Multiple child buscomp record behavior. Child business component records are used for the comparison and the overall comparison succeeds only if the comparison fails for every one of the records.

  • One Must Match

    Multiple value behavior. If the values involved are literal values, the comparison succeeds when at least one value matches. If the values involved are expressions, the comparison succeeds when at least one expression is evaluated to true. This is the same as This Must Match.

    Multiple child buscomp record behavior. Child business component records are used for comparison and the overall comparison succeeds if the comparison succeeds for at least one of the records.

  • All Must Match (Ignore Case)

    Same as its All Must Match counterpart except string comparisons are case insensitive.

  • This Must Match (Ignore Case)

    Same as its This Must Match counterpart except string comparisons are case insensitive.

  • None Can Match (Ignore Case)

    Same as its None Can Match counterpart except string comparisons are case insensitive.

  • One Must Match (Ignore Case)

    Same as its One Must Match counterpart except string comparisons are case insensitive.

Substitution Variables Commonly Used in Expressions

A process property or business component field is often used as a substitution variable in an expression. For more information see Referencing a Process Property and Referencing a Business Component Field.

For more information about the Operators, Expressions, and Conditions that can be used in a workflow process, see Siebel Developer's Reference.

Referencing a Business Component Field

The syntax is [FieldName]. For example, for the business component Contact:

[First Name] like 'John'

Where:

First Name is the name of the field.

The business component itself is specified in the Object field of the Expression Builder.

Example of Using an Expression to Compare Values

An expression can be used to compare the value of a process property Object Id to that of the Contact business component and Account Id field, as described in the following table:

Compare To
Operation
Object
Values

Expression

This Must Match

Contact

[Account Id] like [&Object Id]

Siebel Business Process Framework: Workflow Guide Copyright © 2008, Oracle. All rights reserved.