Huge amount of records stuck in S_ESCL_REQ

7/29/2012 No Comment

Records stuck in S_ESCL_REQ by multiple Workflow policies.

Issue and Symptoms

We have a group of policies for Service request, we read in the bookshelf that for a multiple conditions in a policy, an "AND" operator is evaluated for all of them. But when we analyze the trigger that Siebel has generated in Oracle Data Base, we didn't see that the operator AND is evaluated.

For this reason we are having trouble with too many records insert in table S_ESCL_REQ ( we have 2 000 000 record pending). In TOADWF image we see the result of a query that demonstrates that one record apply for all rules of one group, we have 6 records inserted at the same time, this behavior does not seems to be normal.

The question is if this behavior is normal?? We attached the trigger and one image for the policy that is generating multiple records in the table that I mentioned.

Cause
From what I understood you have created several Workflow policies with similar conditions and noticed that there are too many records created in S_ESCL_REQ. Please note that the triggers generated in your DB are just initial filters of the records that will be evaluated by Workflow Monitor in a second step. It is possible that many records that are inserted in S_ESCL_REQ will not cause an action to be executed because not all records will pass the Workflow policy conditions that are evaluated by workmon component.

In your case, to reduce the number of records in S_ESCL_REQ, I would suggest to only have 1 wf policy and only keep the following 2 conditions:

Service Request Owner IS NULL
Service Request Status = Abierto

Then inside a main Workflow process to be created you can create a logic to evaluate the Area and Sub-Area and depending on these values you can have a decision step that will lead the logic to a different sub-process. Each sub-process will execute the Workflow process that you have currently defined for each one of your Workflow policies.

By having just one Workflow policy and implementing the logic of calling different wf processes inside a main Workflow process you should be able to have just one record in S_ESCL_REQ by BT_ROW_ID and reduce the number of records on this table

Solution
We are working on implementing the solution that you provided to us, it will take some time. In the meantime we raised the number of request per iteration value in order to keep low the number of records in S_ESCL_REQ.
Related Posts


No comments :

 

Aired | The content is copyrighted and may not be reproduced on other websites. | Copyright © 2009-2016 | All Rights Reserved 2016

Contact Us | About Us | Privacy Policy and Disclaimer