Using SAP Business workflows, one can define the business processes that are not yet mapped into SAP system. Workflows are suitable for the situations where the given task is executed repeatedly or when the large number of people is involved in the completion of that work. Workflows can be used in conjunction with the existing business scenarios e.g. during the standard functionality errors or exceptions occurs then workflow can be triggered on these actions.
There are lots of standard workflows available from SAP for different areas like Sales & Distribution (SD), Travel Management (TV), Treasury (TR), General Logistics (LO), and Personnel Management (PA) etc, many of these things will required traveling a lot, but with twiddy rentals that is not a big problem.
Following are the scenarios, which occur on daily basis in each organization –
Finding out what work needs to be done
Planning of work that needs to be done amongst the group of people
The identification of roles & responsibilities on who will do what, when & in how much time
Working in coordination with others
Informing next person about his work to be done, when the earlier one has finished his own
Duplication of work that has been already done because of communication gap,inefficient knowledge transfer & the incomplete documentation in the central repository
Identification of delay in the completion of the work
Preparing status on this delay
Workflows help to optimize each of the above scenarios. In workflows the processes are linked to each other and flow one after the other. At each step, a right person (Agent) will take care of the process. If the step doesn’t need any interaction then the process flows automatically.
Here deadlines can be set for the activities depending on the fair time that step needs to complete. Once this deadline is reached and the process is not performed by the concern then the administrator (manager) gets the notification mail. Here as the right people can be kept in loop in this automated process so a disciplined work atmosphere is automatically planned in the organization.
Due to this automated system, the process becomes transparent to all the users and the risk of manual errors is also reduced. Again the time required to complete any work manually is simply reduced in this automated system. So this adds to the quicker completion of targets and hence leads to the financial growth of the organization.
Features of Workflows:
New business processes can be easily defined with the workflows.
Workflow uses the existing transactions and functions without changing them.
Workflow uses the Organization structure. This helps in the term of changes to organization structure, which will be immediately in effect in the execution of workflows.
Lots of tools are available in the workflow like tools for definition, analysis and monitoring of work processes.
Workflow template (transaction: PFTC) can also be created for the workflow definitions.
Workflow Builder is a very effective tool available for creation, change and display of workflow definition.
Agents can be easily maintained in the workflows. They receive the work item in their SAP Business Workplace, which they will process.
Deadline monitoring can be easily used against the tasks for the defined agents.
Using Business Object Editor (transaction: SWO1), we use the business objects in workflows. These business objects help to use the SAP standard functionality in workflows.
ABAP Classes can also be used in workflows along with the business objects.
Business Workflow explorer gives the overview of all the tasks.
Workflow can also be used on Internet. This is especially useful for the managers, who might not be directly accessing the SAP transactions. So the approval forms generated via workflows can be sent on internet. This is even useful for the people who mainly preparing SAP data and not knowing much about the SAP transactions. They can be given a simple web form for entering data & on submitting data of this web form workflow can be started.
Several workflow wizards are also available for supporting the workflow definition
Version management is available for workflows. Only one version can be active at one time, which is referred while execution.
Lots of administrative tools are available for control and analysis of workflows.
Lots of diagnostic tools are also available in workflows.
Prerequisites of using Workflows:
System Requirement: R/3 Release 3.0 & above
Mail servers involved should be SMTP Compliant if the workflow involves email notifications.
As the workflow may execute lots of background jobs so it may require lots of system resources. Hence the hardware should be enough to fulfill all these requirements along with the normal functionality of the server without affecting the speed.
Following are the customizing settings needed to use workflows-
With the System Supervisor ID, go to transaction SWU3(Automatic Workflow Customizing)
Click on the button Perform Automatic Workflow Customizing (F9) from the application toolbar for performing automatic customization of the workflow.
Once this is done, all the check marks below should turn green
Along with so many settings available in the workflow customizing, system automatically creates a batch user WF-BATCH. This user has SAP-ALL authorizations to execute the workflow.
Now, go to table T78NR from Customizing SPRO transaction.
Click on Create button from the application toolbar to create a new prefix range.
Give the Prefix Number as 900 for custom development & click on Save button.
The newly created prefix appears as activated in the table.
The user triggering the workflow should have his email ID maintained in the SU01 transaction.
From SAP WAS 6.10, SAP directly supports SMTP (Simple Mail Transfer Protocol). This means that the emails can be exchanged directly between SAP system and any SMTP compliant mail server. From SAP WAS 6.20, faxes, pager & SMS can also be exchanged via SMTP.
Goto transaction SCOT.
Goto menu View -> Node
Goto SMTP node. Double click on the required node which is * in this case.
Click on the Maintain Node button.
Give the Mail Host & Mail Port for outgoing mails. Click on Set for Internet options to set.
Give the Address Area as * for the receipt addresses. Also set the Output formats for the SAP Documents as shown in the image below. In the specified format the output will be sent as attachment in the email.
Confirm the settings.
Similarly Pager/Fax settings can be done. For Pager(SMS), the prerequisite is that in transaction SA14, the paging services should be defined. Once this is done, the here in the SCOT transaction, click on Set adjacent to Pager (SMS).
Mention as * in the Address area for the receipt number and Domain name in the Domain input.
Confirm the entries. The SMS will be of the format SMS=+ReciptNumber@Domain
Lots of transactions are involved in the Workflow tool. Majority of them are for runtime analysis and diagnosis. The details of these transactions can be found from SAP Easy Access menu.
Following are the frequently used transactions –
SWU3 – Automatic Customizing Workflow.
SCOT – SAP to mail server Configuration
SU01 – User Maintenance
SE37 – Function Builder
SE38 – ABAP Editor
SWO1 – Business Object Builder
PFTC – Task Maintain
SWDD – Workflow Builder
SBWP – Business Workplace
SWUD – Workflow Diagnosis
SWU_OBUF – Synchronize Runtime Buffer
SWPR – Workflow Restart After Error
Workflow builder: Workflow builder is the business workflow tool for creating, editing and displaying the workflow definition.
The Workflow Builder provides a graphical modeling view, which gives a direct overview of the processes of the different steps. Also there is a tree view to shows all steps of the workflow definition in a hierarchical view.
Workflow Container: The workflow container contains workflow-specific system elements as well as other container elements, which are defined explicitly.
Container elements for which the import or export indicator is set form the interface of the workflow. This interface is valid for all versions of the workflow definition. Container elements for which no import or export indicators are set are local container elements of the workflow definition and are valid only in the versions of the workflow definition in which they were defined.
Workitem: Workitem is runtime representation of a task or a step in the workflow definition. There are various types of work item.
The SAP System determines the recipient(s) of a work item i.e. Actual Agent from the intersection of responsible and possible agents. If this intersection is empty then no body will get this workitem for further processing.
Dialog Workitem: A work item (type W) which at runtime represents a workflow step or a task that requires dialog with the user. Typically, dialog work items are displayed in the Business Workplace. When a dialog work item that is based on a task is executed, the underlying object method is called. You can monitor deadlines for dialog work item execution.
Triggering Event: Triggering event is the one, whose occurrence triggers or starts the workflows or tasks.
The event must be entered as a triggering event for the task or workflow that is to be started. The event linkage must be activated. The event must be defined as an object type component in the Business Object Builder. A task or workflow can have several triggering events. Information from the event creation context can be passed in the binding from the event container to the task container or workflow container.
Block: Block is an element of workflow definition. It contains the consistently arranged steps and operators. It has one start and one end. The consistency and robustness of a workflow definition is ensured because a block is always created when a new step is created, or an undefined step is changed. Similarly, when individual steps are deleted, cut, or inserted, the entire block in which the step is located is affected.
Step: A step is an entity, which can be inserted into the workflow builder. Whenever executed, step gives the predefined desired results.
The step is always defined in block. There are different types of steps available in workflow builder to perform different kinds of operations. These steps are Activity, Web Activity, Send Mail, Form, User Decision, Document from Template, Condition, Multiple Condition, Event Creator, Wait, Container Operation, Process Control, Loop(Until), Fork, Undefined, Ad hoc Anchor, Local Workflow & Block.
Task: Task (Standard Task, Customer Task) is used to define the Activity step in workflow definition. Task can be executed independently also.
Task Container: Task container is a location for storing data from the task environment. The task container contains the information about the object reference to the object to be processed, the actual agent of workitem, necessary input parameters for the method. These parameters come from workflow container after the binding between workflow container and task container. It also stores the information available after the method processing.
The task container contains some predefined workflow system elements. One can define more container elements in the task container. It is also known as a work item container at runtime.
Responsible Agent: Responsible Agent is a user assigned to a step in the step definition. Expressions, organizational objects, or rules can also be used to assign the responsible agents.
Possible Agent: Possible agent is a user who is authorized organizationally to start a task and execute the relevant work item.
Actual Agent: Actual Agent is the person who receives a work item for further processing. The agent can be directly assigned to step or agent determination can happen dynamically at run time either from rule or from the organization structure.
Workflow Binding Concept:
There is three level of two way Binding concept involved in workflows. Here binding is meant by the interaction between two consecutive levels using variables (Import/Export parameters). The first level of binding exists between the event triggering the workflow and the workflow’s container i.e. workflow gets the necessary inputs for processing. The second level of binding exists between this workflow container and the step (task) container. And the third level of binding exists between the step (task) container and the method inside this step (task).
Here the values in the variables are passed to workflows, which then flows to tasks & finally to corresponding methods as Import parameters. The outcome of these methods if needed can be passed back to task & then finally to workflow. The outcome of one task can also be passed to next tasks using this binding concept.
Workflow Builder in Brief:
Transaction for workflow builder is SWDD.
The workflow builder is divided into different areas like Information Area, Navigation Area, Step Types, Graphical Model, Results of Syntax check etc as shown below.
In the Information Area, the information about the workflows like workflow number, version and the status of the workflow are displayed.
In the navigation area, all the steps of workflow definition are displayed in sequence.
The Step Types appear in the Objects section of the workflow builder. This object section consists of following options in the dropdown, one which can be viewed in the workflow builder. e.g. in the current case, Step Types are displayed.
Step Types That Can Be Inserted
My Workflows and Tasks
Workflows of this Definition (Outcome)
At the bottom of the workflow builder, the syntax check results are shown as either informatory, warning or error messages.
In the Graphical view, the actual definition of workflow is build by dragging the steps from the steps list or by right clicking the step directly on undefined one. The default steps in every workflow are Workflow Started, Undefined step and Workflow Completed.
Triggering Event for this workflow can entered in the workflow builder by menu Goto -> Basic Data. Here enter the relevant business object and the event name. Activate the link and binding.
Once the workflow is built here. It needs to be activated so that it can be used further.
Workflows can be locally tested at the Builder level also.
Following types of steps can be inserted into the workflow builder.
How Workflow can be Started/Triggered:
Workflow can be triggered in following different ways –
Automatically By Triggering Events: Workflows can be triggered using events. Whenever this event occurs, workflow automatically gets triggered. For this, the event must be specified as the Triggering Event.
Automatically By using Workflow: Workflow can be triggered if it is specified as the step of another workflow.
Workflows can be triggered manually in the standard environment where the necessary input data is given to workflow with triggering event.
Also workflows can be triggered in testing environment i.e. in development environment for testing purpose.
Workflow can be stared using Start Transaction. Start Transaction is the one whose execution allows all the import parameters of a workflow to be entered. After the start transaction has been executed, the SAP System starts the associated workflow with this data.
A user can start a workflow or task from a message issued by the system. A workflow or task must be assigned to the message. An appropriate function for this is available to the user in the message long text.