Siebel Business Process Framework: Workflow Guide > Defining Custom Workflow Policies > Defining Conditions for a Workflow Policy >

Using Specialized Operators in the Conditions List


'The Comparison field supports the IS ADDED, IS UPDATED, and IS DELETED specialized operators. Siebel CRM uses these operators for special conditions that it uses with Dynamic mode when it calls rows to look up a regular condition. If you define a workflow policy that runs in batch, then you must use a specialized operator in conjunction with a regular workflow policy condition.

Siebel CRM uses the following operators only at the workflow policy component level:

  • IS ADDED. If Siebel CRM adds a new row for this workflow policy component, then it calls the workflow policy that it must examine. If you use IS ADDED in conjunction with a standard comparison, then you can use IS ADDED to update a record.
  • IS DELETED. If Siebel CRM deletes a row from a workflow policy component, then it calls the workflow policy that it must examine.

Siebel CRM uses the following operators only at the field level:

  • IS UPDATED. If Siebel CRM modifies the field in an existing record, or if it adds a new record that includes this field, then it calls the workflow policy that it must examine. Note the following:
    • To determine if Siebel CRM updates a field for a particular table, you can use the workflow policy component column that represents the LAST_UPD column for this table.
    • To determine if Siebel CRM modified a field in the workflow policy component, you can use the field that is named after the workflow policy component.

Guidelines for Using Specialized Operators

If you use specialized operators, then it is recommended that you use the guidelines that Table 63 describes.

Table 63. Guidelines for Using Specialized Operators
Comparison
Value
Explanation

IS ADDED

If you define a workflow policy component column in the Condition field, and if you define nothing in the Condition value, then use IS ADDED.

If an instance of the workflow policy component is added, then the workflow policy condition is met. For example, if you define the workflow policy component column for the service request in the Condition field, and if you use IS ADDED in the comparison, then the condition is met when Siebel CRM creates a new service request.

IS UPDATED

If you define a field in the Condition field, and if you define nothing in the Condition value, then use IS UPDATED. The condition is met when the field changes.

For example, if you define the status of a service request in the Condition field, and if you use IS UPDATED in the comparison, then the workflow policy condition is met when Siebel CRM changes the status of the service request. For more information, see Using IS UPDATED in the Conditions List.

IS DELETED

If you define a child workflow policy component in the Condition field, and if you define nothing in the Condition value, then use IS DELETED.

A child workflow policy component is a workflow policy component that Siebel CRM associates with a parent workflow policy component. For example, a parent workflow policy component might be Service Request. A child workflow policy component might be Service Request Activity.

If you use IS DELETED in conjunction with another workflow policy condition, then the other condition must reference the parent workflow policy component.

For more information, see Using IS DELETED in the Conditions List.

Generating Database Triggers with Specialized and Standard Operators

Siebel CRM implies an OR between specialized operators, where one or more of the workflow policy conditions must be met before the action occurs. For example, a service representative can receive an email if Siebel CRM adds an activity to an open service request. The following conditions in the policy implement this example:

  • Service Request Status = 'Open'
  • Service Request Activity Component IS ADDED

If a workflow policy condition is IS ADDED or IS UPDATED, then the database triggers that Siebel CRM creates do not represent every condition defined in the policy. The policy ignores any database triggers that are not represented. For details, you can examine the entries in the trigger.sql file that Siebel CRM creates as a result of doing the comparison. This behavior is expected.

If you modify a condition, then you must run Generate Triggers so that Siebel CRM implements this condition.

If you use a workflow policy condition with a standard operator, then the database triggers that Siebel CRM creates encompass the condition. If you use a specialized operator, then Workflow Monitor Agent evaluates this condition at run time.

Using IS UPDATED in the Conditions List

Siebel CRM joins workflow policy conditions when it runs an IS UPDATED statement, but the format of the trigger.sql statement that it creates for the condition does not include an AND operator in the SQL format.

If a workflow policy condition is met, and if IS UPDATED does not occur, then the Workflow Monitor Agent calls the policy. If an IS UPDATED operator is included as criteria on a field in this condition, then Siebel CRM does not check any of the other fields that the condition references.

Using IS DELETED in the Conditions List

The example in this topic uses IS DELETED in the Conditions list. If a user deletes an activity from a service request that includes a Sub-Status of In Process, then Siebel CRM must notify the service request owner.

Table 64 describes this configuration.

Table 64. Example of Using IS DELETED
Policy
First Condition
Second Condition
Action

References the Service Request Workflow policy object.

The first condition depends on each of the following situations being true:

  • Field is Activity Component
  • Comparison is IS DELETED
  • Value is empty

The second condition depends on each of the following situations being true:

  • Field is Service Request Sub-Status
  • Comparison is equal (=)
  • Value is In Process

Send an email to the service request owner.

If you use IS DELETED, then Siebel CRM cannot track the ROW_ID of the record that it deletes from the child workflow policy component. It cannot log this record in the S_ESCL_REQ table and the Workflow Monitor Agent cannot identify the deleted row. If you must use Siebel Workflow to capture the deleted row, then you must use a workflow process that a run-time event starts. The run-time event is the BusComp_PreWriteRecord event. For more information about the BusComp_PreDeleteRecord event, see Siebel Object Interfaces Reference. For more information, see Tables That Workflow Monitor Agent Uses.

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