Tips 'n Tricks for SAP Workflow
Consultants
Creating a step where a supervisor manually assigns
an operator to another workflow step.
Use the business object WF_TASK. There are several possible
methods to use. Refer to the documentation of the methods to determine
which is suitable for your task. If the task is customized as a general
task the supervisor can suggest user names directly (using wild cards),
otherwise the supervisor selects from a list of possible agents.
Troubleshooting when the workflow does not start correctly.
Case 1: When the workflow does
not start.
If the workflow does not start this is either because
it is not being triggered properly or the workflow definition is not complete.
First determine how the workflow should be started. Directly? Via a customizing
table? Via an event? Transaction SWUD offers intelligent diagnosis help
to establish if the flow was started, if the triggering event was fired,
if the flow is syntactically correct, if users are assigned to all the
tasks...
Case 2: When the workflow starts
twice.
The most probable cause of a workflow being started twice
is that it is triggered by two separate mechanisms simultaneously. For
example if the flow is being triggered by an event, check that this event
is only firing once. For example, you might find that it has fired once
due the customizing for change documents AND once due to the customizing
of status changes. Transaction SWUD will allow you to determine how
many times the event is firing. If it is only firing once, check that the
workflow is not additionally being started directly by a program or customizing
tables. Check that the workflow is not customized to trigger on two separate
events.
Sending e-mails from the workflow.
There is a wizard in the workflow editor which will help
you send straightforward e-mails from the workflow. The wizard generates
a step based on the business method SELFITEM SendTaskDescription. You cannot
modify the business object SELFITEM and delegate so if you want to do something
more sophisticated you should build your own method in another object based
on the function modules SO_xxx_API1. These function modules are the APIs
for sending mail and are fully documented. Use the where-used list to see
examples.
Different mechanisms for accessing work items.
In an early stage of the project you should consider
the issue of how users are going to be notified off and access work items.
Usually this decision will not influence the definition of the workflows
but there may well be organizational issues involved which you should consider
early on. ASAP contains a table of alternative methods. The most common
being:
mySAP.com Workplace
SAP Business Workplace (previously the universal inbox)
Microsoft Outlook
Lotus Notes
e-mail
Web Inbox
The e-mail notification can be done automatically without
modifying your workflow at all. For tighter integration into other mail
programs you can add form functionality for the workflow steps that will
most gain from this.
When to use asynchronous tasks.
Asynchronous tasks are often misunderstood so here's
a short note about them. You'll find a fuller description in the online
documentation. Asynchronous tasks only terminate when a terminating event
is received. This makes them especially suitable for tasks where you want
to be absolutely sure that the user has done what was intended. The event
is usually triggered within the method itself when the terminating condition
is met.
These cases cry out for being implemented as asynchronous
tasks:
The user MUST make a change in the business object (e.g.
status change)
Post-processing of the method takes place in the update
task and it is essential that the workflow does not continue until this
post-processing has fully completed (e.g. creation of a business object)
Some users often perform this task directly from the
menu without accessing the workflow system so feedback via the event is
essential to ensure that the workflow continues automatically.
Ensuring that your workflow is robust.
Check that your workflow definition will not stall or
get confused when a user performs several tasks in one step. Try not to
dictate the order of processing with your workflow definition unless this
is a necessary part of the business process flow. Allow the users to work
the way they want but make sure that they are kept within the realms of
the business process framework. Check that the workflow synchronizes properly
with other events. For example, if a purchase requisition is withdrawn
the workflow should terminate immediately and send notifications to all
users involved in the process so far. Use deadlines to ensure that the
process runs through on time and that a supervisor is informed when a delay
occurs. Often the cause is simply due to illness or vacation and the task
can be performed by someone else.
Documentation issues.
Workflow is dynamic. You can change the business process
without sending everyone to be retrained so bear this in mind with your
documentation. Your documentation should be written to ensure that any
changes which are made can be done easily and without upsetting any
aspects of the process.
Documentation for the operational user can be made available
online with a URL included in the work item description. This documentation
should contain help-line numbers, what to do if you receive a work item
intended for someone else (you've left the department), FAQs, whether the
user may create ad hoc attachments (the other users must be aware of the
possibility if you want to make use of this functionality)...
Documentation for administrators should include how to
perform periodic health-checks, how to add a new user to the process (and
how to remove someone), what to do when a user is absent for a short period
of time, contingency plans, list of counterparts in different parts of
the process if the process is cross-application.
Technical documentation must include a complete catalogue
of all workflows, tasks, business objects and roles used in the process.
There is ample room within the system for documentation about the individual
components but of particular importance the events. These must be
documented in the system, explaining how they are triggered (E.g. program
xxx, status changes...). The workflow documentation should explain how
the workflow is triggered (E.g. event, program...). Subflows should be
labeled as such. Synchronization issues should be documented carefully
so that changes can be made without jeopardizing the process.
Read Also
Useful
TCodes Used In SAP Workflow
SAP WF Reference Books:
SAP
Workflow Configuration, Interview Questions and Certification, Books
Back to:
SAP
Business Workflow Hints and Tips
Return to :-
SAP ABAP/4 Programming,
Basis Administration, Configuration Hints and Tips
(c) www.gotothings.com All material on this site is Copyright.
Every effort is made to ensure the content integrity.
Information used on this site is at your own risk.
All product names are trademarks of their respective
companies. The site www.gotothings.com is in no way affiliated with
SAP AG.
Any unauthorised copying or mirroring is prohibited.
|