Friday, November 23, 2007

WORK FLOW.

Workflow Items Sent To Everyone If Agent Not Determined

We have this problem,whenever a workitem does not determine a agent, it send the workitem to everyone.
This is causing lot of problems.

This is generally a two part issue:

1. At design time, you have defined the task as a 'general task' under the agent assignment.
2. At runtime, when the agent determination routine tries to identify the agent, it cannot. So, because it is a general task, the task is sent to everyone.

To resolve:
1. Instead of making it a general task, try to identify an actual list of 'possible' agents. This could be by positions, userIDs, Org Units, etc. Make this list your possible agents instead of defining it as a general task.

or

2. Make sure your logic for determining the agent always return an agent. If you are using a custom rule, then at the end of the logic check to see if an agent was determined and if not, identify a default agent (like a WF admin or business analyst) that can receive the item and investigate who to properly route it to.

FYI... if you go with option 1 and at runtime the logic fails to determine an agent, then an error message is sent to the WF admin instead of the task being sent to everyone.

Which Agent did execute the task in the Inbox?

Which FW system field does contain the agent, whom has executed a task in her inbox ?
If one of the agents executes task number 1 in her inbox, which system field do I have to use in task number 2 to find which agents did the thing ?

Make a workflow container for Actual Agent of type WFSYST-ACT_AGENT

and then in task 1 do the binding from task container to workflow container for actual agent.

This container then you can use in your next task to see who was the previous agent

Generating Sub Workflow

Is there a way for me, inside a workflow, start a subworkflow not by putting it in a task but by sending parameters like "wsxxxxxx" (subworkflow) with container x, y and z. Then wait for the end of this subworkflow and continue.

Explaining... what I need to do is to start a subworkflow based on a customizing table that starts the correct one from a parameter in the container.

Table:
1 - ws9900001
2 - ws9900002
.....................

if container_value = 1 start subworkflow ws9900001
with subworkflow_containerX = containerX
end if

Is there a standard function to do this???

Why don't you create a Condition Step ? Therefore, you could trigger the right subworkflow according to the criteria.

The purpose is to have that information in a table and that the primary workflow doesn't get very complicated. If I have 20 subworkflows I don't have a condition with 20 exits. It also needs to become more flexible, that is, if I need a new subworkflow I just add this in the table.

I have already implemented this way... with the conditions, but the production requests for changes are heavy and this would ease the process in the future, that is, be extremeally flexible.

OK, I see where your problem is. Unfortunately, I don't think SAP provide us an easy way to swap the subworkflows yet. For those who knows how to do this, please let us know, it's very useful.

In the meanwhile, what I could think of is writing a custom method to choose the subworkflow and trigger it dynamically. Therefore, you could create a table to maintain the subworkflows and the criteria easily. So you'll need an ABAPer to do that for you if you're not familiar with ABAP. Hope this helps.

1. Add one of your subflows to the main workflow as an activity step and define the binding. This subflow is just a place-holder and will be replaced by another subflow when the workflow runs.

2. In the step definition specify "Task to be determined using an expression" and specify which container element (or expression) contains the subflow ID to be used.

At run time, the place-holder subflow will be replaced by the subflow that is specified by the expression. In other words this expression reads the table that you created to find the subworkflow to call and this subworkflow is called by the main workflow instead of the (static) place-holder subflow.

Yes, there is a standard function.
container_value=ws9900001
use container_value as the expression as described previously.

Made a test... worked great.

Create Object SWU_WFML_INBOX

I would like to get the contents of the e-mail generated by RSWUWFML fixed. I have gone into SE61 but am having some trouble. I have tried to change the dialog text that is specified by program RSWUWFML - which is SWU_WFML_INBOX and Add my Text there.

But I am not getting this text in My Mail.

Have you activated the text?

BTW, it is better to create your own text rather than modifying the default supplied by SAP.

PS: RSWUWFML2 is the latest version of the program. Depending on your SAP release, it may already be in the system or you can download it from SAP.

>>> I have created new one it is working fine.

How to display company logo in workplace (work item preview)?

Go to "WI display" tab of your dialog step.
use function module SWL0_PREVIEW_DEMO_GIF_ONLY (logo only) or
SWL0_PREVIEW_DEMO_TEXT_AND_GIF (logo plus text) as template to create your own.

For the image:
go to tx SMW0,
- choose binary
- then click the blue table icon
- execute the transaction.

You'll get a table where you can add your own logo.
For e.g. your image is called Zmiguel, type .gif.

To be able to see it you have to assign an editor (settings-->assign myme editor) assign iexplorer for example to image/gif type.

Then in your function (copy of FM SWL0_PREVIEW_DEMO_GIF_ONLY or
SWL0_PREVIEW_DEMO_TEXT_AND_GIF)
add:
e_info-gif-id = 'ZMIGUEL'.
e_info-gif-ALIGN = 'R'.

Workflow bottlenecks

Assuming that you recently triggered Workflow in your system hence the number of users shot up three times. At peak hours the system is terribly slow, nobody can work.

What short-term solutions (SAP fine tuning etc) are there as you plan to upgrade your hardware?

This depends on what are doing with your workflows.
If it's little workflows that start often put the events in queues.

Is it a custom workflows or standard workflows?
If custom, try to replace methods by attributs (no RFCs) and it's better to use virtual attributs (only calculated when accessed).

If you use heavy BDC or run heavy reports in your workflows you could try to give more ressources to the CPIC or background user.

If your workflows have a lot of background steps before sending workitems to users, and if possible, make them start during the night.

And of course, if all this doesn't solve the problem you will have to your upgrade hardware. But before that, you should really dig in to see if there isn't a design/configuration problem somewhere:

SWI5: workflows workload analysis
Put traces on workflows and events for example.

Binding from Task to Custom Method

My workflow is largely based on template WS2000040 - Approve Trip.

The standard is a two step approval process with 2 decision tasks sent out
1) Check Trip Facts
2) Approve Trip.

I've copied and changed the flow to have a slightly different approval process again 2 decision tasks are sent out.
1) Approve Trip
2) Settle Trip (Custom code)

The workflow is based on business object BUS2089.
I've created a subtype of BUS2089 and named it ZBUS2089, and created a method ZEmployeeTrip.ZTripSettle which calls a function module (FM) to carry out the settle process (submit's a SAP standard program RPTTEC00 (TCODE PREC)).

The FM has the following parameters
EMPLOYEENUMBER LIKE BAPIEMPL-PERNR Optional Passes Value Personnel Number
TRIPNUMBER LIKE BAPITRVXXX-TRIP Optional Passes Value Trip number

The code works correctly stand alone. I've tried to implement it in a similar manner to BUS2089-APPROVE.


My problem is that when called from the workflow the parameters for my method are always blank and the container of the method is also blank.

This is a view of the flow (bottom up).

14:23:11 B STARTED TS90100002 Settle Trip
14:22:59 W COMPLETED TS00008267 Settle Trip of Test Test rr 04.01.2003 1000004552
14:22:58 B COMPLETED TS20000130 Set trip 1000004552 status to approved
14:22:46 W COMPLETED TS20000131 Approve trip of Test Test/rr/04.01.2003/1000004552
14:22:45 F STARTED WS90100002 Custom Employee Expenses

The informations I need is stored in element TRIP. The fields that are key and the ones that I need passed through into my method are
employeenumber like pskey-pernr,
tripnumber like bapitrip-tripno,

These fields are sucessfully passed from the workflow container into my role to determine the agent of task TS20000131 and subsequently task TS00008267.

I'm pretty sure my problems relate to the binding between the task container and the method container. TS00008267 <-> ZBUS2089-ZTRIPSETTLE. And possibly my binding throughout the workflow template.

I'm getting several binding errors that raise the following questions:

1) When I attempt to activate the workflow template I'm told some values are not used or some values are for read purposes only. I can see these values in my workflow container and when attempting to delete them from the workflow container I get the message: 'Inherited elements may not be deleted'.

2) As I mentioned I'm trying to implement this like BUS2089-APPROVE is implemented by SAP. When I click on my object binding within task TS90100002 I always see the key parameters to my function module called by my method ZBUS2089-ZTRIPSETTLE and I am unable to change this. However when I look at BUS2089-APPROVE it does not work like that and in the method code it takes it's values from object-key-employeenumber and object-key-tripnumber.

I've tried using this method in my code and also using swc_get_element ac_container 'EmployeeTrip' z_tripno. swc_get_element ac_container 'EmployeeNumber' z_person but in both cases I have no values populated.


First thing to check is see if your method works on its own. you can do this from the swo1 transaction. click test, instantiate the object and execute the method. if it works correctly, then you will have to straighten out the binding betn the task and the method. While testing your method thru swo1, you can put a hard break-point in your method code and execute the method that way you can check if the values are being read by the method.



When I switch on container debugging I'm getting binding errors and my target container (the method) is empty.

I realise there are binding problems but I don't know how to repair them. Primarily because of the error messages (re: original posting) I receive during my attempts to repair the binding.


It's definitely a binding problem - under no circumstances should the global data field 'object' be empty in your method code.

In your workflow container, you should have an instantiated business object ('trip'?), which contains the fields you're interested in.

What you need to do is bind this element from the workflow container to that of your standard task, which you do at the activity step level in the workflow builder. The container element 'trip' should be bound to the task element '_WI_OBJECT_ID'. Once that's in place, this should feed down into your method automatically, but by all means check this at PFTC standard task level.

When you've done this correctly, you can access your element NOT through the workflow container using 'SWC_GET_ELEMENT', but through the business object key.

i.e. object-key-pernr etc...

Finally, make sure you're delegated your subtype 'ZBUS2089' system-wide to BUS2089 using SWO6 - you shouldn't be creating a standard task based on ZBUS2089, which can cause problems too. The standard task should be based on object type BUS2089, method ZTRIPSETTLE.


The business object is &TRIP& and is instantiated to begin with i.e. the value get's passed to the first task. I believe also to the second task as I'm writing those values out in the workitem line item text.


Resolution

1) 'The container element 'trip' should be bound to the task element '_WI_OBJECT_ID'.'
2) Created standard task based on BUS2089.

Workflow Debugging

I need to trace the actions of a workflow, but placing breakpoints (soft and hard) don't seem to work ! Any ideas as to how I can see what it is doing?

First of all, you cannot set breakpoints in a workflow, so I assume you mean that you have set a break-point in a method used in one of the task's used in your workflow?

If so, and if this task-method is a background method (i.e. a non-dialog task), debugging is not possible, since a background method, as the name states, is executed in another context in background.

To see how the workflow passes values from/to the different container's, you can use transaction SWUD (to see if the values needed for your method, are binded correctly).

Other useful tools for workflow error search, are: SWEL (first turn on even trace with SWELS) or simply look at the workitems created to see what kind of errors they may have encountered: SWI2_FREQ f.x.

If background task, I recommend you use SWUS for the specific task in question to create a WorkItem. Find the workitem with SWI2_FREQ, then display it. From there, display Container, to see the outcome.

You can debug the method, from SWO1 for the Object Type owning the method. From SWO1 simply click the test button. Then click "create instance". Execute the method for the object instance and you will be able to debug the method.

How to notify users that they've got a Work-item/message?

You can integrate SAP WF's with your Notes-mail system, using an agent to tell the users that now they've got a work item waiting for them in their inbox.

or

by changing the priority to '1 express' and the other person will get the Pop-up telling them that they've got something in their inbox, BUT ONLY IF they are LOGGED ON at the time of receipt.

If they are not logged on, they don't get any message at Log-on.

The popup for unread items in the SAP Inbox can be activated using workflow customizing (SWU3)
->Maintain Addl Setting and Svces ->Activate Send to Objects and HR Objects.
Check off "No notif of unviewed mails" on the 1st tab.

or

you can considered creating a secondary method which, if the user is in your non-Notes integrated plant, sends a notification as an external email. This whould use SELFITEM - Sendtaskdescription, and should not have any trouble being sent to the net using Connector - the only question is do the users at your new site have the ability to receive emails.

or

You can also use SAP MAPI, Exchange Connector or Desktop Workplace to notify them by email when a new Work Item arrives.

Best regards,

rajesh

Users Assigned To Task Do Not Receive Workflow Messages

We are on SAP version 4.5B. I created a new position and assigned 6 users to it. Only 2 of the users actually get the messages. The two that do receive these new messages, also receive workflow messages from another position. I had our security team verify all the users profiles to make sure that they can have access to workflow. So I don't think this is the problem.

I used the SWU3 translation and received green lights on everything. I also used the SWUS transaction to refresh the environment. I still have the same problem.

What am I missing? Is there some other config somewhere that I need to do? Is there a missing user profile of some sort that's missing?

kc297

Here are a few checks you can make :
1. In the header data of the workflow make sure the agent assignment reads the positions in question as responsible agents

2. For the specific step make sure you assign the agents using a position as the parameter for agent assignment and make sure you've given the right position org object

3. you probably have assigned a job to the position, isn't it ? if yes then in the specific step try and assign the job do-ers as the agents rather thane the position and try that might help.

4. Worst case scenario check in OM if the assignment of the 6 persons to the position has occurred right. The tcode to use would be PPOM_OLD and check if all the 6 people have been assigned as "HOLDERS" of the position in question.

Do you have a SAP WorkFlow Question?

Hi WF Sappers,

If you have a SAP Workflow question, please feel free to asked it in the SAP WORKFLOW forums.

Just send an email (with a relevant Subject Title) to the many helpful SAP WF Peers in the forum.

The email for posting a new message is:
sap-r3-workflow@yahoogroups.com

If you are still not a member, just send a blank mail to:
sap-r3-workflow-subscribe@yahoogroups.com

or just filled in this forum join form :-

SAP Workflow Forum for WF Professional


Trigger WF from MIGO

Is there any way to trigger a WF from transaction MIGO? Trying to create a WF when MIGO is saved.

**********

There's a user exit which is called after the material document is posted, but just before the 'commit work' takes place. I think it's 'EXIT_SAPLMBMB_001' off the top of my head.

Raise your workflow event programmatically there using 'SWE_EVENT_CREATE_FOR_UPD_TASK' in update task. You'll have the material document number/year in the MKPF structure by then, so you should be well equipped for any subsequent workflow.

**********

I first tested the function you suggested, but it seems doesn't work. Maybe I misunderstood and am doing something wrong. Here it is:

SWE_EVENT_CREATE_FOR_UPD_TASK : I pass the MKPF as object type, a 50000000012003 object key, and the event assigned.

**********

The two obvious things that spring to mind are either that you've coded your function module exit incorrectly, or you haven't activated the enchancement in CMOD.

Here's some code I've used in past, which definitely works:

Code:

*----------------------------------------------------------------------*
* INCLUDE ZXMBCU01 *
*----------------------------------------------------------------------*

DATA: BEGIN OF KEY,
MBLNR LIKE MKPF-MBLNR,
MJAHR LIKE MKPF-MJAHR,
END OF KEY.

DATA: EVENT_CONTAINER LIKE SWCONT OCCURS 0.

DATA: OBJKEY LIKE SWEINSTCOU-OBJKEY.

READ TABLE XMKPF INDEX 1. "Check with MM Consultant that table will only have 1 line

MOVE: XMKPF-MBLNR TO KEY-MBLNR,
XMKPF-MJAHR TO KEY-MJAHR,
KEY TO OBJKEY.

CALL FUNCTION 'SWE_EVENT_CREATE_FOR_UPD_TASK' IN UPDATE TASK
EXPORTING
OBJTYPE = 'MKPF'
OBJKEY = OBJKEY
EVENT = 'CREATED'
* CREATOR = ' '
* TAKE_WORKITEM_REQUESTER = ' '
* START_WITH_DELAY = ' '
* START_RECFB_SYNCHRON = ' '
* DEBUG_FLAG = ' '
* IMPORTING
* EVENT_ID =
TABLES
EVENT_CONTAINER = EVENT_CONTAINER
EXCEPTIONS
OBJTYPE_NOT_FOUND = 1
OTHERS = 2.

As you can see, I created a custom event 'created' for a delegated subtype of MKPF, and am using that instead.

Tcode For Listing All The Workflows


Do you know what the transaction code is to list all the workflows in the system (including standard & customised workflows).

Use se16 and table name 'HRSOBJECT'

It will list all the workflows. It also lists Roles but you can restrict by selecticng TS, TG and WS.


Workflow FAQ on Settings and Customizing

1] Question: What is the Workflow basic Customizing?

Answer: Before you can use the Workflow module, you must first execute the basic Customizing in transaction SWU3.
All of the listed points should be green (the number range for customer tasks is no longer required). A detailed
description of the activities is provided in the relevant information buttons. You can also execute some (but not all)
of the points using the Automatic Customizing button. See the online documentation for an exact description of
what happens there. The RFC destination must work correctly and the user (usually WF BATCH) should have
the SAP_ALL profile.

[2] Question: What options do I have as a user to configure the inbox individually?

Answer: You have the following options:
o You can create separate user-dependent or user-independent layouts so that you can adapt the displayed columns
individually.
You can access the function in the Workplace via an application function key.

o You can set filters to set certain criteria for individual columns or several columns simultaneously, according to which
specific work items are then filtered.

o You can add dynamic columns in the layout that then display dynamic elements for certain tasks and users from the
work item container. However, this is only possible if all tasks in the inbox belong to just one task. If they have
several tasks in the inbox, filtering serves no useful purpose because all tasks are first completely read once. You
can define these dynamic columns using transaction SWL1.

[3] Question: What does the substitute rule system look like in the workflow?

Answer: You have a choice of two different substitute rulings:

o Active substitute ruling (for example, for absence due to vacations): In this case, the items belonging to the absent
person are automatically assigned to the substitutes inbox (in addition to his own work items).

o Passive substitution (for example, for absence due to illness):
the substitute must explicitly assume the substitution and can only view the items of the absent person in this mode.

[4] Question: How can users be automatically notified that new work items are available for processing?

Answer: Unfortunately, the dialog box that informs users of new work items which appears in SAPoffice is not available within SAP Systems. However, the following two options are provided:

o In the Workflow Builder, you can designate the item as an express item via additional data. The user then receives
a corresponding express dialog box.

o The RSWUWFML report is a more flexible option. This report sends an e-mail to an external Internet address to
notify the user of new work items.

[5] Question: Can I set deadlines for the latest processing of work
items?

Answer: This is where you can use deadline monitoring for work items. In the Workflow Builder, you can set dates for a requested/latest start/end date for each individual step. You must schedule the SWWDHEX job via transaction SWU3
for this. Schedule the job permanently in the production system otherwise it is difficult for the job to schedule
individual deadline monitoring scenarios when workflow is heavy.

[6] Question: Can I also execute work items with external programs such as Outlook?

Answer: You can use the Web GUI for HTML instead of the Windows GUI. However, note that some functions do no work in the WEB GUI, due to technical restrictions in the browser. SAP also provides interfaces which allow you to process work items with external programs such as Lotus Notes or Microsoft Outlook.

Implementing Workflow FAQ

[1] How do I convince my company to use workflow?

Feedback from user groups emphasizes that although the competitive advantage gained by using workflow eclipses the financial savings, it is the financial savings that are the deciding factor when obtaining support from senior management. Projects getting the blessing at the CEO level are much easier to manage, and far more likely to reach their goal within the project time frame.

So plan well, and don't neglect the business case.

Because the following questions deal with the financial case in more detail, this section will finish by listing the competitive
advantages.

The quality of the process is assured by pushing the relevant information together with links to related transactions
directly to the user. Managers don't have the time to search for information so give them what they need to reach the correct
decision.

Cycle time is reduced by pushing the process directly to the users. The users receive notification of a task immediately
and can even be prioritized by the system.

The tasks are performed consistently and diligently by the users. The workflow system pushes all the necessary
information needed to perform a task, including a clear description of what has to be done, how to do it and the impact this
task has on the business process for your company. At any time, the user can check the list of tasks pending and
determine at a glance which are the important tasks, and which tasks can be completed the next day without any negative
impact.

The process instance is transparent. Any user can check at any time how far the process has progressed and which
stage the process has reached. For example the call center can immediately see the status of a purchase order, an
employee requisitioning a purchase would see at a glance if a colleague has been sitting on it for too long, the ad hoc notes
made when approving an engineering change request are visible long after the request has gone into production.

The process is flexible, allowing it to be changed on the fly without retraining everyone involved. The description
accompanying the change takes care of on-the-fly process improvements.

Deadline handing ensures that users perform the tasks within the time planned. Escalation measures ensure that the
failure to meet a deadline can be corrected by other means.

Intelligent reporting highlights the weaknesses of a process. Often there is a simple cure to such weaknesses such as
reeducating the users involved in the bottleneck or providing additional information (automatically). The difficulty of a
non-automated process is identifying such bottlenecks.

The process definition is transparent. You can see at a glance how the process works and who will be selected to
perform the different tasks. Think of the workflow as the process book. If you can spot the pattern and define the process
without headaches, you can create a workflow definition effortlessly. However, don't forget that if a company has business
processes that are erratic and lack a consistent pattern, the company is very likely to be losing a lot of money in terms of
lost contracts, labor intensive administration and low customer confidence. It is my personal opinion that automating exactly
this type of processes will yield the best returns, but only if you limit yourself to automating the basic skeleton of the
process first. Don't get bogged down in the detailed exception handling. That can be done in the next phase once you've
checked the process statistics and determined which exceptions are worth tackling.

As with most software the reasons for automating business processes are primarily to increase the competitive edge of your
company and to cut costs. Although the increase in competitively gained by radically reducing process times is by far the most
insignificant gain from workflow, you should not ignore the cost savings. The cost saving calculations are needed by upper
management in order to approve workflow projects. This upper management signature will be very useful in different phases of
the project and cannot be underestimated.

[2] How do I calculate the cost saved by workflow?

Calculate the cost of the manual process in terms of man hours. Don't neglect the time spent gathering information. Ask the
following questions:

Is the user forced to log into different systems, or scan through printed documentation....?

Does a skilled user spend time on parts of a task, where less skilled (less expensive) user could do the groundwork? I.e.
Can a single task be split into skilled and unskilled tasks to free the skilled worker for work where his/her skills are really
needed?

Is time spent researching the progress of a process (usually done by someone not involved in the process directly)?

Is time spent determining who to give the task to next?

Probably the most significant cost will the be the cost of failure?

How often does the process fail?

What is the real cost of failure? Loss of a contract? Loss of a customer? Law suit?

If the failure can be rectified, how labor intensive is it?

[3] What are typical costs saved by workflow?

A manually processed accounts payable invoice will cost about 25 USD. After workflow enabling about 15 USD (one example based on customer feedback from a user group meeting).

[4] What are typical reductions in processing time caused by workflow?

A traditional paper based approval process involving three people will typically take seven days to complete. The automated
process will take one day (results based on customer feedback).

[5] What do customers say are the strengths of SAP WebFlow?

WebFlow is the internet functionality of SAP Business Workflow. Based on customer feedback from the various regional users groups, the main strengths of SAP Business Workflow are:
Robust production workflow system, (upgrade continuity with the rest of the SAP system, versioning, scalability, no
gluing....)
Standard workflow templates delivered by SAP can be used out-of-the-box or tweaked to deliver the optimum business
process for your company. Workflows can be up and running including training in under a day (thanks to the
knowledgeware delivered as part of the template packet).
Seamlessly integrated into the SAP environment, be it R/3, Business to Business Procurement, CRM, APO,
mySAP.com.... Examples of integration are:

  • Business Reporting (WIS),
  • Context sensitive availability at any time through the system menu (available anytime, anywhere)
  • More and more standard SAP functionality is being provided by using SAP Business Workflow so your homegrown
  • workflows fit the landscape exactly,
  • More and more workflow functionality is available directly within the SAP transaction or Web MiniApp.
WebFlow is becoming more and more important because companies are no longer being judged by their own performance but by the combined performance of the company AND its partners. In other words it is not enough that the business processes within your company run smoothly and faster than your competitors. You have to ensure that the processes between you and your partners are also as fast, efficient and flexible as possible. WebFlow delivers this.

[6] How are users notified about their work pending?

The users are informed by a work item which you may think of as being very like an e-mail. The difference is the work item
contains intelligence and by executing the work item you will be taken to the form or SAP transaction that makes up the step in the workflow. This form or transaction could be a decision, a request for information or a request for confirmation that a particular task has been performed.
The work item is usually accompanied by a description of what has to be done, where to refer to when assistance is needed
(help desk, intranet...) and a summary of information about the business object or process which enables the operator to attack the task immediately.

This work item can be received and executed in MS Outlook, Lotus Notes, mySAP Workflow MiniApp or the SAP integrated inbox. If this is not enough, the workflow system can transmit e-mail notifications directly to any mail system, informing the user of the need to log in to the SAP system to execute the task. The e-mail notification is done on a subscription basis so that users can de-subscribe from this service if they already check their work item inbox regularly.

[7] What is workflow reporting is available and is it useful?

Standard workflow reports exist which allow the administrator to check statistics such as the frequency and average
duration of the workflow processes. However the real strength of the workflow reporting is that it allows reports to be configured which analyze the process statistics in combination with the data involved within the workflow process and
the organizational units associated with the process. For example you can determine the average time invested in a
failed contract renewal request, the time taken to create material masters in different plants or the frequency of rejected purchase requisitions on a department to department basis. Often, big reductions in cost or cycle time can be obtained without touching the workflow definitions.
Re-educating a particular group of users or incorporating supplementary information in a work item description can often cause dramatic improvements on the cycle times of particularly critical subsets of the process. It is not unusual that this
may have a big impact on specific products, plants or organizational units. This will show up in the WebFlow reporting in
LIS or the Business Warehouse but it might not show up in traditional statistical workflow reporting. Even though the
average time does not change significantly, the impact on costs and profit can be dramatic.

[8] How do I choose who to distribute the tasks to?

A work item is assigned to one or more users. Whoever reserves or executes the task first wins and the work item vanishes
from the other users' inboxes. This eliminates the need to assign the user to one single user. I.e. No need for complicated
algorithms to determine which single user will receive the work item and no need to worry about what will happen when one user is ill for the week (also taken care of by sophisticated substitution mechanisms which can be linked to the SAP organizational model).

Tasks can be assigned to an organizational unit but the strength of the workflow system is to enable business rules which
select users according to the data being processed. For example, you might have one group of users associated with one
quality notification type. The workflow can be configured to query the QM module directly to determine the users. You can define fallbacks using the default role associated with a task and allow agents to be specified on the fly by a supervisor.

Tasks can be assigned to office distribution lists which is useful when you want your users to subscribe or unsubscribe to a
particular task. A typical use of this would be where you have a work rote or want to reduce user maintenance to an absolute minimum. The users subscribe or unsubscribe by joining or leaving an office distribution list (one mouse click).

[9] What happens when a deadline is missed?

This depends on your workflow definition. In the simplest case an e-mail is sent to another user by the system (typically your
supervisor so watch out!). However in more sophisticated scenarios a missed deadline can redirect that path that the workflow takes. One customer uses deadlines to automatically make an approval if the deadline is missed (at about the eighth approval level!!!). This gives the user the chance to make rejections but does not force him/her to go into the
system to approve the other 99.9% of the requests. In safety critical environments the workflow might trigger off
preventative action when a deadline is missed or might put other processes on hold. There is no limit as to how you
can use this functionality.

[10] What deadlines can be monitored?

Many different types of deadlines can monitored. At the single workflow step level you can define deadlines which trigger when the work item has not completed within a certain time and other deadlines when no one starts working on the
work item within a given time. You can specify the task deadline statically (e.g. 1 week) or dynamically (e.g. 1 week for material type A and 2 weeks for all the other materials). The offset can be related to the step (e.g. you have 1 week to complete this step) or related to the process (e.g. complete within 2 weeks of the complete process starting, irrespective of how long your colleagues have hogged the previous steps).

Last but not least, deadlines can be set for sub-processes, which is often more important than the deadline of a single
step in a workflow.

[11] How can I check the status of a workflow?

This is one of the very cool features of SAP Business Workflow. You can usually navigate directly from the business
object to check the workflow progress. For example, while viewing a purchase order you can select "workflow" from
the system menu or toolbar and you will see a list of workflows related to the purchase order. Usually just one, but if you have created a few of your own and these have been triggered you will see the status of these too. And that is not all. You also see a simplified summary of all the steps that have taken place so far including who performed them, when they were executed and which ad hoc notes were attached.

[12] How are workflows triggered?

Workflows can be triggered automatically by changes in the system or manually by an operator. Manually triggered workflows are good for processes that remedy a problem the operator has noticed or for dealing with a forms-based requests (E.g. my PC won't boot). Automatically triggered workflows are useful because the operator does not even
have to be aware of the workflow's existence to trigger it. In addition to triggers embedded in transactions there are also generic triggering mechanisms such as a change in the status of a business object or a change in the HR data. Irrespective
of how the workflow is triggered, it is linked to the business object as described in the previous answer and can be tracked easily. Because WebFlow is part of the basis system, this triggering is reliable and easy to implement.

Workflows may be triggered by events but this is not essential. The event-handling makes it easy to trigger workflows from
transactions and system changes without you having to make modifications. If you are creating your own report or transaction
which triggers a workflow, avoid events and trigger the workflow directly with the WAPI function call. This is particularly important when triggering a workflow from outside the SAP system. This method reduces flexibility (the workflow ID is hard-coded) but increases performance if this is an issue (we're talking about 50 000 work items a day here!).

Any exception handling workflows that are intended to be triggered manually can be triggered from the system menu when
viewing the relevant transaction. The SAP system has the intelligence to suggest workflows that can be triggered manually
based on the authorization of the operator and the context that the operator is working in. No additional customizing is needed
here.

[13] What open interfaces are supported?

The most significant interface supported is the Wf-XML standard from the Workflow Management Coalition. This is an
independent organization of which SAP is a funding member, along with most other major workflow vendors. The Wf-XML
interface is based on XML and allows workflows from different vendors to communicate with each other. A detailed description of the interface is available on the WfMCs web site at www.wfmc.org.

[14] What is Wf-XML used for?

Although a company is far better off workflow enabling their system with SAP WebFlow when SAP software is used anywhere within the process, a collaborative process can take place between partners using different software platforms employing different workflow systems. To support SAP customers in this situation, WebFlow offers the open interface Wf-XML. This allows Business Processes enabled using different tools to communicate and control each other. Any workflow tool offering this interface can connect up with other tools that also offer this interface.

Wf-XML is the only open interface for supporting interoperability of business processes, independent of what the business
process being integrated.

[15] Where does Wf-XML come from?

Wf-XML comes from the Workflow Management Coalition, an independent body of workflow vendors, customers and higher education establishments.

[16] How does the workflow call procedures from non-SAP systems?

The Actional control broker integrates directly into SAP WebFlow enabling proxy objects to be called directly from the workflow step. When called, the proxy method will make a call to the outside system either as a background task or as a dialogue step.

These proxy objects are generated in the SAP system using a converter which converts the objects interface (DCOM,
CORBA...) to the SAP syntax. A syntax converter also lets developers view any object in any of the participating systems in the developer's preferred language.

SAP Business WorkFlow Tips and WF Discussion Forum

Practical and helpful SAP WORK FLOW Stuff to assist those who seek to know more about the SAP Business Workflow.

SAP Business Workflow can be used to define business processes that are not yet mapped in the R/3 System. These may be simple release or approval procedures, or more complex business processes such as creating a material master and the associated coordination of the departments involved. SAP Business Workflow is particularly suitable for situations in which work processes have to be run through repeatedly, or situations in which the business process requires the involvement of a large number of agents in a specific sequence.

You can also use SAP Business Workflow to respond to errors and exceptions in other, existing business processes. You can start a workflow when predefined events occur, for example an event can be triggered if particular errors are found during an automatic check.

SAP provides several workflows that map predefined business processes. These workflows do not require much implementation.

No comments:

Blog Archive