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.