Siebel SQLs/Error Messages > Workflow Monitor Agents Exit With Errors
Workflow Monitor Agents Exit With Errors
APPLIES TO: Siebel CRM - Version 8.1.1.11.6 [IP2013] and later Information in this document applies to any platform. SYMPTOMS On : 8.1.1.6 SIA [21233] version, Siebel Workflow
ACTUAL BEHAVIOR
When S_ESCL_REQL.CREATED_BY and BT_ROW_ID are blank, with IgnoreError = True Workflow Monitor Agent (WorkMon) exists with the following error:
SQLSlowQuery Statement 4 0000000452b9093c:0 2013-12-24 16:43:19
select req.REQ_ID, req.BT_ROW_ID, req.RULE_ID, req.TBL_NAME, req.CREATED_BY, req.CREATED
from SIEBEL.S_ESCL_REQ req
where req.GROUP_ID = ?
order by req.REQ_ID
SQLSlowQuery Bind Variables 4 0000000452b9093c:0 2013-12-24 16:43:19 01:1-2Q4IXM8
ProcReq GenericFatal 0 0000000452b9093c:0 2013-12-24 16:43:19 Base Table Row Id in ReadRequests
GenericLog GenericError 1 0000000452b9093c:0 2013-12-24 16:43:19 Message: GEN-11, Additional Message: Base Table Row Id
SQLTraceAll SQLTraceAll 4 0000000452b9093c:0 2013-12-24 16:43:19 (SQLTransact) Env Handle: 0, Conn Handle: 16182736, Time: 0s
SQLConnectOptions Transaction 4 0000000452b9093c:0 2013-12-24 16:43:19 (SQLTransact) Env Handle: 0, Conn Handle: 16182736, Time: 0s
SQLConnectOptions Transaction Detail 5 0000000452b9093c:0 2013-12-24 16:43:19 (SQLTransact) Type: SQL_ROLLBACK
ProcReq GenericFatal 0 0000000452b9093c:0 2013-12-24 16:43:19 Error in ReadRequests
GenericLog GenericError 1 0000000452b9093c:0 2013-12-24 16:43:19 Message: ESCL-31, Additional Message: Error
SQLTraceAll SQLTraceAll 4 0000000452b9093c:0 2013-12-24 16:43:19 (SQLFreeStmt) Conn Handle: 16182736, Stmt Handle: 34831120, Time : 0s
SQLStatementOptions Free Statement 4 0000000452b9093c:0 2013-12-24 16:43:19 (SQLFree Stmt) Conn Handle: 16182736, Stmt Handle: 34831120, Time: 0s
SQLStatementOptions Free Statement Details 5 0000000452b9093c:0 2013-12-24 16:43:19 (SQLFreeStmt) Option: SQL_CLOSE
Perf PerfDetail 4 0000000452b9093c:0 2013-12-24 16:43:19 Summary Violations : 0|0|0|0|0|0
Perf PerfDetail 4 0000000452b9093c:0 2013-12-24 16:43:19 Summary Actions : 0|0|0
GenericLog GenericError 1 0000000452b9093c:0 2013-12-24 16:43:19 (esclmain.cpp (335) err=458806 sys=126) SBL-ESC-00054: Error processing requests
EXPECTED BEHAVIOR
With IgnoreError = True, Workflow Monitor Agent (WorkMon) logs the error, deletes the request, and then continues processing the next request.
REPRODUCTION STEPS
The issue can be reproduced at will with the following steps:
1. Create a workflow group named 'Test Workflow Group'.
2. Create a new worklfow policy named 'Test Workflow Policy' in the group, Object = Service Request, Condition: Service Request Priority = 1-ASAP leave Actions blank, i.e., no need to have workflow action for the policy.
3. Execute Generate Triggers task 2 times: - First with EXEC = True, Remove = True to delete triggers. - Second with EXEC = True, Remove = False to create triggers.
4. Execute the following 2 insert related statements with SQL Plus connecting to Siebel database:
insert into S_ESCL_REQ (REQ_ID, CREATED, GROUP_ID, RULE_ID, TBL_NAME) values (S_ESCL_REQ_S.nextval, sysdate, '1-2Q4IXM8', ''1-35V2687', 'S_SRV_REQ');
(it should say 1 record created.)
commit;
Please note GROUP_ID is ROW_ID for 'Test Workflow Group' , RULE_ID ROW_ID for 'Test Workflow Policy'. CREATED_BY and BT_ROW_ID are NULL/blank.
5. Execute select * from S_ESCL_REQ where GROUP_ID = 'Test Workflow Group ROW_ID' should return 1 record, the newly inserted record from step 4.
6. Enable tracing on the custom Workflow Monitor Agent component, please follow this Doc: How to generate detailed log files for Workflow Monitor Agent in Siebel 7.x? (Doc ID 476710.1)
7. Start the WorkMon task ('IgnoreError' = False, which is the default if you did not change it on the component parameter):
start task for component WorkMon with GroupName="Test Workflow Group", SQLFlags=2
And it should fail. This is expected behavior.
8. Restart WorkMon task with 'IgnoreError' = True:
start task for component WorkMon with GroupName="Test Workflow Group", SQLFlags=2, IgnoreError=True
and it should not exit with the error but it does with the exact same error and messages.
CAUSE S_ESCL_REQL.CREATED_BY and BT_ROW_ID are blank for some records. S_ESCL_REQL.CREATED_BY and BT_ROW_ID should not be blank, they should be populated when the policy is triggered and written in S_ESCL_REQ table. The triggers in trigger.sql are correct for the policies. It is unknown how they are blank in customer's environment, Tech Support is able to mimic the behavior by manually inserting a record in S_ESCL_REQ with blank CREATED_BY and BT_ROW_ID.
SOLUTION Suggest to start the custom WorkMon task with IgnoreError = True. With IgnoreError = True, Workflow Monitor Agent (WorkMon) or Custom Workflow Monitor Agent logs the error in component log file, deletes the request from S_ESCL_REQ, and then continues processing the next request in S_ESCL_REQ. But the custom Workflow Monitor Agent task behaves the same as IgnoreError = False and exists with the the same error, it won't ignore the error and stay up to continue to process the next record in S_ESCL_REQ.
|