You are on page 1of 3

SAP Workflow - Hints and Tips

SAP Workflow normally runs very smoothly, but if you do run into problems or have questions then this FAQ may help. 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 isnt 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 hasnt 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 shouldnt? A) Some possibile 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 isnt mistakenly marked as Dialog if the method is a Dialog method then check the agent hasnt 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 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 users 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).

You might also like