Q) How come my workflow works fine in DEV but not in QA? (or PROD)
A) Some possible reasons:
Run SWU_OBUF and check SWU3 for problems
User WF-BATCH may have problems, e.g. expired password, no email address supplied
Custom tables used for agent determination not filled in the same way
A different version of the workflow is being used
***
Q) How do I get a background step to be run as a certain user, instead of WF-BATCH?
A) Try having that user run a dialogue step beforehand, with advance with dialogue
***
Q) How can I find out which users are holding up the workflows?
A) Look in the workflow logs.
For a large number of workflows or workflow instances, create a report which calls function module SAP_WAPI_WORKITEM_RECIPIENTS. If you combine it with function module SAP_WAPI_GET_WORKITEM_DETAIL you could make a report which shows all users that various workflows are waiting for.
***
Q) How can I look inside another user’s SBWP workflow inbox?
A) Transaction SWI5 (assuming you have sufficient privileges)
***
Q) Where is this workflow started?
A) Use transaction PFTC_DIS to see if the workflow has a starting event.
If not, then the answer is beyond the scope of this brief FAQ, but you could try a where-used on function module SAP_WAPI_START_WORKFLOW.
If there is a starting event, check in transaction SWE2 that the event is actually linked to the workflow and, if so, try doing where-used on function modules SAP_WAPI_CREATE_EVENT and SWE_EVENT_CREATE (look for Z programs).
Q) Why is my workflow not starting?
A) Some possible reasons/solutions:
If started by an event:
Run SWU_OBUF and check transaction SWU3 for problems
Check that the linkage between the event and the workflow exists in transaction SWE2 and is activated
Check transaction SWEL to see if event was created / gets created (may need transaction SWELS to turn SWEL on)
Test if creating the event manually in SWUE triggers the workflow
Check if there is a start condition that isn’t being satisfied
Check if the event is in a queue (if event queueing is turned on, see transaction SWEQADM)
Check WF-BATCH in transaction SU01, see if all is well (e.g. password not expired)
If started directly (e.g. with function module SAP_WAPI_START_WORKFLOW; not recommended if it can be avoided):
Run SWU_OBUF and check SWU3 for problems
Check if workflow has been set to General Task
***
Q) Why is my workitem going to all users?
A) This normally happens when:
A task has been set to General Task and
The agent assignment fails to return an agent (or hasn’t been set) and
The “Terminate if rule resolution has no result” box has not been checked
This is usually fixed by checking the “Terminate if rule resolution has no result” box
***
Q) Why is this user receiving this workitem, when he shouldn’t?
A) Some possible reasons/solutions:
Run SWU_OBUF and check transaction SWU3 for problems
The task has been set to General Task, no agent was determined and the “Terminate if rule resolution has no result” box was not checked so the workitem is going to every user
The agent determination is faulty
The user has been set up as a workflow substitute for another user in table HRUS_D2
The user is actually receiving an email, not a workitem, and the user has been set up as an email substitute in table SOSU
***
Q) Why is this user NOT receiving this workitem, when he should?
A) Some possible reasons/solutions:
Run SWU_OBUF and check transaction SWU3 for problems
The task has not been set to General Task
The agent determination is faulty
The user has a worflow substitute set up for him in table HRUS_D2
The user is actually expecting an email, not a workitem, and the user has an email substitute set up for him in table SOSU
The user has been listed as an Excluded Agent for that task
***
Q) Why is my workflow stuck / hanging?
A) Some possible reasons/solutions:
Run SWU_OBUF and check SWU3 for problems (e.g. SWWDHEX or SWWERRE not running)
Check for any shortdumps in transaction ST22
If a method is hanging in the background, check in transaction SWO1 that it isn’t mistakenly marked as “Dialog”
If the method is a Dialog method then check the agent hasn’t been set as WF-BATCH
Check that WF-BATCH has SAP_ALL
Check if there is an error handling problem, especially if a method calls a function