WorkFlow
An Overview
Definition
• Workflow is automation of business
practices as a whole or their parts,
during which documents, information
or tasks are moved from one
participant to the other for further
processing, which corresponds to the
defined organizational structure.
• Why do we need Workflow?
• In most business processes, the time involved in the
• actual processing of data is only a fraction of the
• total time required to complete a transaction. Most
• of the time from start to finish is consumed by
• moving data from one person to another and waiting
• for that data to be used.
• SAP Business Workflow provides you with
infrastructure and tools that enable you to
manage your human resources and business
processes more efficiently. It helps you get data
quickly to the right person-even if that person
is in a different office or a different country-
and makes it easy for approvers to deal with
transactions and send them on to the next step.
What does Workflow do ?
• SAP Business Workflow uses the existing
transactions and functions of the R/3 System and does
not change the functions. You can combine the existing
functions of the R/3 System to form new business
processes with SAP Business Workflow. The workflow
system takes over control of the business processes.
• If you are already using SAP Organizational
Management, you can use the organizational structure
created there to have the relevant agents carry out the
individual activities. It is possible to have an activity
carried out by a position.
Where and why ?
• To define business processes that are not yet mapped in
the R/3 System
simple release
approval procedures
creating a material master
associated coordination of the departments involved.
• Particularly suitable for
situations with repeated work processes, or
situations involving a large number of agents in a
specific sequence for a business process.
Profits from implementation of Workflow :
• Impr ovement of i nf or ma ti on f low
• In cr ease of ef fect iveness of pr acti ces an d
decr eas e of
t ota l cost s
• Ma ki ng th e a cti vit ies an d comm uni cat ion in t he
bu si ness pr act ice mor e effect ive
• Tr anspa rency of bu sin ess pr act ices
• Dea dli ne C ont rol
Features & Tools Available
•
• Workflow Builder- SWDD
• Workflow Wizard Explorer-SWF3
• Business Object Builder –SWO1
• Business Workflow Explorer-SWDM
• Business Workplace - SBWP
From a technical point of view, a SAP workflow
consists of 3 main components :
• Workflow
• Task
• Object Method
Workflow Components
Object
Workflow Task
Method
The workflow :
•A series of tasks which represents a business
process (e.g. Leave Approval Business Process)
•Defines what tasks are executed (sometimes
based on outcomes of previous tasks)
A task :
• Usually akin to a specific step in a process
(ie. Display Employee Leave History)
• Define Agents (which users can and
cannot execute the step)
• Deadline monitoring is defined here
An object method :
•The ABAP which actually executes the task. (ie. SQL,
etc)
•This could be straight ABAP
•Or Call Transaction (dialog task)
•Call to a FM, subroutine, etc
Business Object Builder
• As SAP Business Workflow was developed
• on an object-oriented basis, it is possible to
• enter relevant information as object types
• in the SAP system.
• Examples : Material Master
• Sales Order
Business Object Builder
Objects are comprised of:
•Key fields
•Attributes
•Interfaces
•Methods
•Events
Key Fields
•In order to define an object in SAP, it must have a key.
Normally, this is done with reference to some database
table via SAP's data dictionary (DDIC). The key may be
comprised of one or more fields. If more than one field,
the object key is then a concatenation of the fields.
Attributes
•The attributes of the object are any other
non-key data related to the object. Again, this
is defined via the data dictionary. If so, SAP
will generate the code necessary to retrieve
the data.
•Attributes can also be freely defined by
using the Virtual option. In this case, the
developer must write the code in order to
retrieve the attribute's value.
Interfaces
•Interfaces are predefined components inherited by
the object. This is SAP's mechanism by which
Virtual functions may be implemented.
•The 'Interface' object has a number of methods.
These methods are then inherited by the Object.
•In order to use the methods, the Interface object
must be extended and code added to the method
in order to handle the particular object.
Methods
•Methods define which functions an object can
do. Methods are coded. They may call any
existing functionality in SAP. It has Import, Export,
Table, Exception and Results parameters.
•A method can be viewed as a Remote Function
Module (RFC), although it actually is executed as
a tRFC (Transactional RFC) or aRFC
(Asynchronous RFC).
Events
•Events generally occur within a particular
context. In this case, related to the Object under
which it is defined. An event must be defined in
order to be published (External event). In order
to publish the event, the object's key must be
specified in order to define the context. The
event may also carry with it other data
components. This is done by defining the event's
parameters.
Program
The definition of any object requires that a program be
defined for it. When maintaining it's various
components, SAP generates code which is placed in
the program. The Key definition, Attribute access and
methods are all stored in the program.
Triggering Mechanisms
•Events (publish and subscribe mechanism)
Majority of workflow are triggered by events. A developer will
register a workflow for a particular event. When this event occurs (ie.
Sales [Link], Parked Document Deleted) the subscribed
workflow will be triggered (ignoring Check FMs and starting
conditions)
Status Management
Change Documents
User Exits and others
•Manual Triggering
–Various Function Modules
Workflow Components
Object
Workflow Task
Method
Task
•
• Tasks describe elementary business
activities. Tasks always refer to a method
of an object type. Possible agents are
defined for tasks. Tasks can refer to
automatically executable methods
(background tasks) or they can need a
user to execute them (dialog tasks).
Task as a Step in a Workflow Definition
•
• A task is referenced in an activity as
a step in a workflow definition. A
task can refer to
A customer task/standard task
A workflow task/workflow
template.
•
• Within SAP Business Workflow you use
tasks for the following purposes:
• To use methods of an object type in a
workflow (Single step task)
• As a framework for defining a workflow
(Multistep task)
Creating a Workflow Task
•
• Single step task
• You use a Single step task to define an
activity that can be executed within a
workflow definition or independently. This
activity can be a transaction in the R/3
System.
• A single-step task can be part of a
workflow definition as a step of the type
activity.
Multiple step task
• Task containing a workflow definition. It
describes the formal "framework" (interface,
triggering events) for a workflow definition.
In addition to the reference to the workflow
definition, the multistep task contains other
information:
• Definition of the workflow container
(interface description)
• Triggering events
Task Type
T For customer tasks
TS For standard tasks
WF For workflow tasks
WS For workflow templates
Role Resolution – Determining the Agent(s)
•The process of determining which Agent(s) is
responsible for a particular Task.
•For Role Resolution to occur, the Task must be
defined as a Dialog Task.
•The responsible Agents for a Task/Step are
specified ‘Directly’ or ‘Indirectly’ in the
‘Responsibility’ screen of the Step or the ‘Additional
Data->Agent Assignment’ menu option of the Task.
At runtime, the system first looks in the Step
definition, then in the Task definition.
Role Resolution – Determining the Agent(s)
•Directly’: Specification of the user name
•‘Indirectly’: Association to another component
linked to one or more users. eg. Org. Units, Job
and Position Definitions and Work Centers.
(based on the PD Org. structure shared by the
HR module).
•Standard Role is most flexible mechanism.
•Determination of the Agent(s) is fully
programmable via the creation of a function
module.
Dataflow:
Containers and Binding
• The exchange of information between the individual
components of the workflow system is based on standardized
rules which are specified in the binding definition.
• Containers
• Local data repository for a particular component.
Used in:
Workflow Definition
Step (Workitem)
Task
• Containers, with their table-like structures, are used to
contain values (constants) and object references for control
purposes for the workflow process and execution of work items.
•
Binding
Information is exchanged between the individual
containers according to the assignment rules specified
in the binding definition.
•Mechanism by which data is transferred from one
container to another.
•Essentially a data mapping step.
•Each container is defined with its components
Task container
• Container of a task for storing data from the task
environment.
• The task container contains the control
information
• in the form of constants and object references:
• Information on execution of the object method
(object reference to the object to be processed,
current agent of work item, and so on)
• Information available after processing the
method
• The task container already contains some
defined
Workflow System Elements in the Task Container
• The task container holds some container
elements as workflow system elements. You
cannot edit these but you can use them. The
workflow system assigns values to the
workflow system elements as standard.
• _WI_Object_ID _WI_Result
• _WI_Actual_Agent _Attach_Objects
• _Adhoc_Objects _WI_Group_ID
• _Workitem
Defining Single-Step Tasks
• Def ining ta sks
• Mainten an ce of a gent ass ignments
• Lon g tex ts f or ta sks
• Speci fyi ng a tri ggeri ng e ven t
• Acti vati ng l inkage
• Def ining bi ndi ng between even ts an d tas ks
• Speci fyi ng a defa ult ro le f or ta sks
• Def ining bi ndi ng between a task a nd a r ol e
Standard Task Creation – Material Create
Triggering Events
Dataflow – Binding between Containers
Agent Assignment
Agent Assignment User
Identifying and Enhancing Object Types
• Enhancements to object type
• · Events
• · Attributes
Creating subtypes for existing object
types
Adding an event
Adding attributes
Activating object types
Creating your own Business Object Types
Creating Attributes
Creating Methods
Creating Methods
Creating Methods
Creating Events
Raising Events via Change Documents
• Ch an ge d ocument s a lways r ef er to a bu siness
ch an ge docu ment o bje ct. On e or mor e ta bl es
are a ss ig ned to each ch an ge docu ment object.
• Ch an ge d ocument s a re wr it ten wh en t he valu e
in a t abl e f iel d ch an ges, b ut on ly
• · i f t he t able is a ss ig ned to a cha ng e docu ment
obj ect ,
• · i f t he d at a element i n the ta ble fi eld is
mar ked as req uir in g a ch an ge d ocumen t.
Flexible Event Creation
Creating an event when a change
document is written
Assignment between change document
objects and object types
Change Document Objects : Overview SCDO
Data Element of the table field marked as Change Document
Connection to Workflow Functionality
• · BUS1 001 ( Ma terial )
Events for Change Document SWEC
Workflow Components
Object
Workflow Task
Method
Workflow Template
A workflow template is a modular
grouping of
individual steps.
Example : activity(task
reference )
multiple / single
conditions
loop
The steps can either be arranged as
a sequence or to be processed in
parallel.
Each step is a determining
component of “its” [Link]
Workflow Template Create – Multi Step
Basic Data
Workflow Template Create – Multi Step
Container
Workflow Template Create – Multi Step
Triggering Events
Workflow Template Create – Multi Step
Agent Assignment
Workflow Template Create – Multi Step
Defining Steps
Steps
Steps perform some action - Execute a
method, Compare/set values, Request
user decisions.
Activity
Condition / Multiple Condition
Event Creator / Wait For Event
Workflow Control / User Decision
Loop Until / Loop While
Container Operation
Fork
Activity
An activity step executes the code of an
object’s method via a Task. When creating
the Task, we specify which object and
method the Task is to execute.
Dialog Tasks and Background Tasks
Background tasks do not need a user.
Therefore, the method is executed
immediately.
Dialog Tasks
Dialog tasks involve user input.
Workflow determines the agents(users) via
Role Resolution.
The Agent(s) receives a Mail informing that
they must complete the relevant task by
‘Executing’ the Mail.
When executed, the method associated with
the task will run.
The method may now do anything that is
required, such as display a Purchase Order
or run a report.
Condition / Multiple Condition
Condition
Allows for the ability to test the value of an
expression (normally a container variable).
This will generate a True/False branch and
associated events.
Multiple Condition
Allows for the ability to associate the value(s)
of an expression (normally a container
variable) with any subsequent events (along
with subsequent ‘Undefined’ steps).
Event Creator /Wait For Event
Event Creator Raises an external event,
which must be associated with an object. It
can be used to trigger other workflows, signal
the end of an asynchronous process or to
communicate to a running Workflow.
Wait For Event Listens for a particular
external event (which must be associated
with an object) to be raised. Used to wait for a
particular user process to occur (which would
raise the event).
Workflow Control / Container
Operation
Workflow Control Allows for the
cancellation of the Workflow or of a
work item (Runtime key must be
supplied).
Container Operation sets a value to a
container element.
User Decision
Sends a message to an Agent.
Upon execution, a popup box will
display a set of options to the user.
This is based on the default generic
task TS8267 (which can be swapped if
it is needed to add special instructions
to the user).
Loop Until / Loop While
Loop Until creates a feedback loop. At the end
of the loop, a condition step is inserted.
Continuing looping or not is controlled via the
contents of a particular container variable.
Loop While creates a feedback loop. At the
start of the loop, a multiple condition step is
inserted. Continuing looping or not is
controlled via the contents of a particular
container variable.
Fork
Will create a fork of n specified branches
which can run parallel steps.
Workflow Template Create – Multi Step
Defining Binding between task and workflow container
Workflow Template Create – Multi Step
Defining Agent to the step
• APPLICATIONS
• CA - Cross-Application Components
Processing Document Info Records .
Message Control .
EDI Status Record Processing .
• FI - Finance
Workflow Scenarios in Finance .
Workflow Scenarios in Asset Management .
Triggering a Workflow From a Validation .
• LO - Logistics
Changes with Reference to an Engineering
Change Request or Change Request or
Engineering Change Order .
Logistics Information System: Trigger
Workflow from an Exception in the Early
Warning System.
• MM - Materials Management
Releasing a Purchase Requisition.
• QM - Quality Management
Quality Notification .
Quality Inspection .
• PM - Plant Maintenance
Maintenance Order Management .
Purchase Order Change .
Service Management
• PS - Project System
Workflow in the Project System .
PA - Personnel Administration
Recruitment .
Personnel Administration .
Process Absence Approval .
Automatic Generation of Documents for HR
Applications Using SAP Business Workflow.
•Ques ti ons ?