Siebel Business Process Framework: Workflow Guide > Manipulating Data in a Workflow Process > Configuring a Decision Condition for a Workflow Process >

Configuring a Decision Condition


To define conditional logic in a workflow process, you define conditions and values that determine the path that the workflow process pursues. For example, you can define a decision condition that uses the value of a priority field:

  • If the priority is equal to high, then the workflow process pursues a branch that includes a step that sends an email to a vice president.
  • If the priority is equal to medium, then the workflow process sends an email to an engineer.

You can define a decision condition for the following items:

  • Start step
  • Decision point
  • Wait step
  • User interact step

Viewing an Example of a Decision Condition

This book includes several examples that use a decision condition. Here are two examples:

  • If the Revenue field in the Opportunity business component is greater than $10,000, then insert an activity for the parent opportunity. To examine the example that uses this condition, see Defining a Decision Condition for the Decision Point.
  • Use a CASE statement to identify one of several branches to pursue in the workflow process, depending on the value of the Priority field in the Service Request business component. Insert an activity with a value for the commit time according to the result of the CASE statement. To examine the example that uses this condition, see Defining a Workflow Process That Creates a Service Request.

Adding a Branch Connector

A branch connector is a type of connector in a workflow process that can include a decision condition. You define conditional logic on a connector that emanates out of the step, and not on the step itself. A branch connector typically emanates from a start step, decision point, wait step, or user interact step.

To add a branch connector

  1. Drag, and then drop a connector from the palette to the canvas. Make sure you connect the decision point with the new next step.

    Make sure that the connector is correctly attached. For more information, see Diagramming a Workflow Process.

  2. Make sure the connector you added in Step 1 is still chosen in the Process Designer.
  3. In the Properties window, enter or modify the connector name.

    The connector name must be unique in the workflow process. If it is not unique, then you cannot save the workflow process.

  4. Set the Type property.

    In most situations, this value is Condition or Default. If you define a decision condition on the connector, then choose Condition. If you use this connector as an exit route, then choose Default. You can set other values. For more information, see the topic about the Connector object type in Siebel Object Types Reference.

    If you define multiple branches on this step, then, for caution information, see Adding Multiple Branches to a Single Workflow Process Step.

  5. Enter comments.
  6. Define the decision condition, if necessary.

    If you use this connector to incorporate conditional logic, then use the Compose Condition Criteria dialog box. For more information, see Creating a Decision Condition on a Branch Connector.

Creating a Decision Condition on a Branch Connector

You can use the Compose Condition Criteria dialog box to define a decision condition on a branch connector. A branch connector can be a connector that emanates from a start step, decision point, wait step, or user interact step. The Compose Condition Criteria dialog box constrains the values that it lists according to the Business Object property of the workflow process. For an example that uses conditional logic on a connector, see Defining a Decision Condition for the Decision Point.

To create a decision condition on a branch connector

  1. In the Process Designer, right-click the connector where you must define a decision condition.
  2. Choose Edit Conditions.
  3. In the Compose Condition Criteria dialog box, create a condition.

    For more information, see Configuring a Decision Condition for a Workflow Process.

  4. Click OK.

Adding Multiple Branches to a Single Workflow Process Step

A start step, decision point, wait step, or user interact step can each reference multiple branch connectors.

CAUTION:  If you define multiple branch connectors, then make sure you define at least one connector with the Type property set to Default. This configuration makes sure an exit route exists if a work item does not meet any of the decision conditions. If you do not do this, then you might create an infinite loop.

To add multiple branches to a single workflow process step

  • Do the procedure described in Adding a Branch Connector for each branch that you must define for the step. Each branch can contain a separate decision condition.

Comparison of Branching Declaratively to Programming with a Script

You can implement branching declaratively, as in multiple branches that emanate from a single workflow process step. In some situations, you can achieve the same result through a script, as in scripting on a business service.

For example, assume a STATUS field references a List of Values (LOV), and this LOV includes 120 values. If the user updates the STATUS field, then a workflow process performs 100 different updates in three different business components. This workflow process contains a start step that examines 120 decision conditions, and then uses 100 different branches. Each branch updates a business component.

As an alternative, you can create a workflow process that includes a scripted business service. This workflow process sends the STATUS to the business service. The business service computes, and then propagates the outcome to the business components through the same business service or through a separate Siebel operation step in the workflow process.

Note the following:

  • Essentially, there are few limitations on the number of branches that can emanate from a start step or a decision step.
  • 120 steps with 120 branches in a workflow process can provide the same performance as implementing the same logic through eScript on a business service.
  • For this kind of programmatically intense operation, eScript is probably a better choice. A workflow process that includes 120 branches is cluttered, while the implementation would be cleaner and easier to maintain in eScript. Conversely, it is recommended that you use a declarative configuration to meet more common requirements.

Using Parallel Processing in a Workflow Process

Siebel Workflow does not support parallel processing. Make sure you define decision conditions so that the workflow process can only proceed along one connector. If you do not do this, then Oracle cannot predict the run-time behavior of the Workflow Engine.

Siebel Business Process Framework: Workflow Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.