How to Track Workflow Execution?
By neel | May 6, 2008
I had written an article in the very start of this blog about how to increase logs to track workflow execution. Here is the link to the old post. Today we are going to discuss another approach that can help you track the execution of workflows and collect various statistics about them. This can be really useful if you would like to track
- RCR Workflows
- Workflows executed from runtime
- Workflows executed from Workflow Policy
This information has been provided to me by my friend Ankit Walia who is working in Siebel from past 1 year.
- Go to Administration > Business Process > Workflow Deployment > Active Workflow process List Applet
- Query for the workflow that you want to track
- In the Monitoring level field set the status of the workflow as 1 – Status
After you do that there are 2 tables those will contain the information about that Workflow process.
- WFA_DEFN_LOG
- S_WFA_INST_LOG
You can query in these table to get various type of information such as execution time, status after execution, the step at which got error out etc. Given below is a sample query which you can use.
select b.row_id,a.NAME,b.STATUS_CD,a.busobj_name
from siebel.S_WFA_DEFN_LOG a,siebel.S_WFA_INST_LOG b
where b.definition_id = a.row_id
and a.deploy_status_cd = 'ACTIVE'
If you want to track a particular workflow then you can modify the query to the following
select b.row_id,a.NAME,b.STATUS_CD,a.busobj_name
from siebel.S_WFA_DEFN_LOG a,siebel.S_WFA_INST_LOG b
where b.definition_id = a.row_id
and a.deploy_status_cd = 'ACTIVE'
and a.Name = ‘Name of the workflow’
Happy debugging ![]()
Related Posts
Categories: Workflows |
Subscribe by Email
May 9th, 2008 at 6:06 am
Too good!! I never knew that we can get the log from backend.
June 10th, 2008 at 5:17 pm
Another important information that is sometimes needed when troubleshooting workflows in Production environments is to find what the specific error was that caused the Workflow to fail. Siebel stores the error information in two Workflow Process Properties ‘Error Code’ and ‘Error Message’.
To find out the error info for a specific workflow, run the previous query as indicated above, i.e.,
select b.row_id,a.NAME,S_WFA_INST_LOG tableb.STATUS_CD,a.busobj_name
from siebel.S_WFA_DEFN_LOG a,siebel.S_WFA_INST_LOG b
where b.definition_id = a.row_id
and a.deploy_status_cd = ‘ACTIVE’
and a.Name = ‘Name of the workflow’
Copy the row_id from S_WFA_INST_LOG table i.e. b.row_id.
Then run the following query by substituting the row_id of the S_WFA_INST_LOG table
SELECT A.ROW_ID ProcId , A.EXEC_INST_VAL InstId, A.ROOT_INST_ID_VAL, A.DEFINITION_ID, A.STATUS_CD, B.ROW_ID StpId, B.STEP_NAME StpName, C.ROW_ID PropId, C.NAME PropName, C.PROP_VAL PropVal
FROM S_WFA_INST_LOG A, S_WFA_INSTP_LOG B, S_WFA_STPRP_LOG C
WHERE A.ROW_ID = ‘XXXXX’ –substitue RowID here
AND A.ROW_ID = B.INST_LOG_ID AND B.ROW_ID = C.STEP_LOG_ID
AND (C.NAME = ‘Error Code’ OR C.NAME = ‘Error Message’)
Additionally, if you would like to see the values of all the Process Properties in each and every Step of the Workflow execution, then comment out the last clause.
July 24th, 2008 at 11:00 pm
hi,
I need to understand one thing here, why do we have to run the query when the above tables are exposed in UI in vanilla view which is Workflow instance monitor view.
Pls explain
Regards
July 25th, 2008 at 10:55 am
As the article, by Neel indicates the SQL query is needed only if you want detailed debugging - which step in the workflow failed, what were the values of the process variables for each step. The SQL Access is useful, if your Business Process calls sub processes that you want to track.
This is an alternative method for Workflow Debugging that can be useful in situations when the Workflow Instance Monitor View does provide enough information or is not accessible.