Using an AND Condition with Multiple Database Triggers

If multiple Workflow Policy conditions exist in a Workflow Policy, then you cannot use an AND condition between database triggers. Generate Triggers can only monitor database changes. Database changes that meet different conditions might not be concurrent. Using an AND condition can cause Generate Triggers to miss many conditions because the conditions might be on different tables.

For example, assume a Workflow Policy contains the following Workflow Policy conditions:

  • SR area is Network

  • Activity Priority is 1-ASAP

In this situation, Siebel CRM creates the following database triggers:

  • One database trigger monitors a service request that Siebel CRM creates or updates, and then determines if the area equals Network.

  • One database trigger monitors an activity that Siebel CRM creates or updates, and then determines if the Priority equals 1-ASAP.

If you use an AND database trigger, and if a user creates a service request that does not include an activity, then Siebel CRM does not run the database trigger because the activity does not exist. If the user then adds an activity to the service request, then no database trigger runs because the service request does not change. The AND condition causes Siebel CRM to miss this violation. If you use an OR condition, and if Workflow Monitor Agent evaluates the Workflow Policy condition even though multiple violations exist in the S_ESCL_REQ table, then the Workflow Monitor Agent only processes one request because the other requests do not evaluate to TRUE. For more information, see Tables That Workflow Monitor Agent Uses.