Documente Academic
Documente Profesional
Documente Cultură
Course Content
Introduction
Workflow architecture
Workflow Definition and workflow Template
Workflow steps in details
Task
Business Objects and Methods
Container Structure and Container Programming
Events
Organisational structure and role resolution
Different types of Agent
Workflow and ALE
Need of Workflow
2
I wonder who
approves buying
this stuff?
TIME IS
MONEY!!!
4
Time drags on . . .
Meanwhile, in
Mr. Managers office . . .
What shall I do next?
Drawbacks
Inefficiency.
Each lacks a way to trace where a task is.
Who executed or is executing it.
How much time it required.
Workflow Architecture
Organisational
Level
Process Level
Business
Object
Level
Workflow Definition
Workflow Definition
A workflow definition describes the workflow process
Basic Data
Information about triggering events
Initial Values
Containers
Bindings
Workflow Builder
The workflow definition is created in the Workflow Builder and displayed graphically in a network.
Transaction: SWDD
Menu Path:
Tools Business Workflow Development Definition tools Workflow Builder.
From the structure of the 8-digit number, the system knows whether the
template is a standard template delivered by SAP or one created by the
customer.
Customer-defined templates start with the prefix number that was defined in
Customizing for the system and client.
Workflow Design
Workflow Steps
2.
Steps which are used for internal process control and monitoring
(condition, multiple condition, loop, etc)
Subworkflow
-
For evaluation of the multiple condition, the value of the basis of comparison is
checked at runtime against the comparison values and branched accordingly.
Used to stop the whole execution of the workflow until the event is created
in the system.
Used to wait for events for parallel processing
Organization
Position/job
Person
Task
Role
Processes
Business
objects
SAP AG 1999
Org. unit
WF definition
Attributes
Step
Events
Object
Methods
Roles
Container
Work Item
Container
Methods
Container
event
Container
Triggering
event
Role
Sync.
Task
7
8
Sync.
Method
Role
Async.
Task
10
Async.
Method
13
12
SAP AG 1999
11
Terminating
event
Created by customer
customer
Client-dependent
Client-independent
Single-step tasks
Single-step tasks describe elementary business activities.
The multistep tasks form the business framework for a workflow definition
and each references one workflow definition.
Defining a Task
Work Item
Executable single-step tasks are represented by work items at
runtime.
Object that represents a task or action in the workflow system at
runtime.
Depending on the work item type, some of these work items are
displayed in a user's work list. Other work items, on the other hand,
are only used and processed internally.
The work items are displayed in the integrated inboxes of their
selected agents, and can be reserved and executed from there.
Workitem Types
W: Dialog work item
Runtime display for a single step task with a user dialog
D: Missed deadline work item
The message recipient for the missed deadline is informed.
F: Workflow work item
Runtime representation of a multi step task
B: Background work item
Runtime display for a task executed in the background.
E: Wait step work item:
Runtime display for a wait step in the workflow definition.
Workitem Text
Title of workitem in the Business Workplace
First create the workitem text and position the cursor to include a varible
Choose the 'Insert variable' icon under the workitem text
Example
Processes request from &_WI_Object_ID.CreatedBy&
Interfaces
Each new object type automatically receives the interface IFSAP, the SAP
standard interface. IFSAP provides every object type with the following:
- Method Display
- Method ExistenceCheck
-
Attribute ObjectType
Key Fields
Key fields are designed to uniquely identify the object type.
If the key field has a data type reference of a dictionary table field, the runtime
system will look to that table field to retrieve the value of the key when
processing the object. When the key field is created, the ABAP/4 program code
is generated automatically when the object type is generated.
Attributes
Attributes provides access to data.
ABAP Dictionary Field
Virtual
Methods
Methods incorporate the permitted functions available for an object.
Methods have importing and exporting parameters as well as exceptions.
Methods can be created using :
Result:
Synchronous methods may return an export parameter as a result. A
result can be defined like a dictionary field or an object type .
Instance independence:
Indicates whether an object reference is passed to the method by binding
at the time of execution. Methods that generate and return an object
reference, such as Create, or methods that generate a report listing should
be instance independent.
Exceptions
Error handling is accomplished through the use of method exceptions
(synchronous methods only).
The workflow definition can branch according to these possible error
states and allow for subsequent steps to handle these conditions.
Messages and exceptions cannot be used with background methods
because they will terminate the program.
Number of the exception:
0001-1000: exceptions defined for interfaces
1001-7999: application-specific exceptions (free for SAP
development)
8000-8999: exceptions raised by the object manager
9000-9999: exceptions defined by the customer (free for
customers)
Exceptions
Exceptions are implemented within a method, between the macro
instructions BEGIN_METHOD and END_METHOD.
EXIT_RETURN Code Variable1 Variable2 Variable3 Variable4.
Code = the 4-digit number of the exception
Variable1 through Variable4 correspond to up to 4 variables
which can be derived from the message issued with the
exception.
The following exceptions (for temporary errors) are also available to
allow exiting of the program:
EXIT_OBJECT_NOT_FOUND = object not found
EXIT_CANCELLED = cancelled by the user
Events
Events describe the change in the status of an object.
Workflow are usually started using events
Subtype
The subtype inherits all attributes, methods and events of the supertype and is
open for new customer-specific attributes, methods and events. The key fields
of the supertype and subtype must be identical. This means that any methods
and attributes defined on the parent can be executed and accessed on the
child object.
Delegation
Transaction: Menu Path: SW01
Tools Business Workflow - Development - Definition tools - Business Object
Builder - Settings - Delegate
This delegation is powerful because it lets you implement your own business logic
without modifying any SAP code. As long as the objects are properly delegated,
your method will be executed.
Calling
Program
KNA1
ZKNA1
Method:
Method:
Change password
Change password
Types of Containers
Workflow Container
The workflow container contains
workflow-specific system variables
and other elements which are
defined explicitly.
As part of the definition of the
workflow task, the import and export
parameters of the workflow are
defined as elements of the workflow
container.
When the workflow is defined in the
workflow editor, elements can also be
added to the workflow container.
These elements are then "local
variables" within a workflow definition
and can be used, for example, to set
up a counting loop.
Task Container
Each task container already
contains the workflow system
variable and any additional elements
for the method parameters of the
referenced object method.
You have to add additional elements
to the task container for additional
values are required for variable
replacement in the work item text or
in the long texts
What is a Container?
Container
Definition
Container
Instance
Field values
Application
Data
Multiline lists
of field values
Object
references
Definition
R/3
Runtime
1
2
3
Database Field
Database Field
Object Type
Definition
Description
Description
Description
1
2
3
X
X
Runtime
Binding
A binding is simply the art of of pouring selected container elements from
one container into another.
The binding editor is available when defining:
Workflow definitions
Triggering events
Workflow steps
Workflow steps ( Standard roles/ Object methods with parameters)
The binding editor always references the container to receive the
application data. Binding definitions can reference:
Constants
Variables (container elements)
System fields
Task
Method
Event
Role
Container Container Container Container
1
triggering
triggering
event
event
2
4
3
6
7
11
sync
sync
task
task
sync
sync
task
task
5
9
10
8
12
15
async
async
task
task
sync
sync
metho
metho
dd
sync
sync
metho
metho
dd
role
role
13
async
async
metho
metho
dd 14
terminating
terminating
event
event
SWC_CONTAINER
Declare
Container
SWC_CREATE_CONTAINER
Initialize
Container
SWC_RELEASE_CONTAINER
Release
Container
SWC_GET_ELEMENT
Variable
SWC_SET_ELEMENT
Internal
Table
SWC_GET_TABLE
Internal
Table
SWC_SET_TABLE
SWC_DELETE_ELEME
NT
delete value
Container
Instance:
CONTAINER
Object
Element:
MATRL
Container
Instance:
CONTAINER
Object
Element:
MATRL
Container
Instance:
CONTAINER
Element:
PRItems
Container
Instance:
CONTAINER
Object
Element:
PRItems
Events
Event
Events must be triggered explicitly. The application itself can be the triggering
agent.
Message
Message
Control
Control
Status
Status
Management
Management
Change
Change
Document
Document
Specific
Specific
HR Tables
HR Tables
ABAP Code
ABAP Code
In User Exit
In User Exit
Changing
Changing
Master
Master data
data
Change
Change logged
logged
using
using
change
change documents
documents
Event
Event creation
creation
(SWEC)
(SWEC)
Event
Event linkage
linkage is
is
done
done to
to connect
connect to
to
the
the workflow/
workflow/ task
task
Status
Status
Management
Management
Event
Event creation
creation
((BSVW
BSVW ))
Event
Event linkage
linkage is
is
done
done to
to connect
connect to
to
the
the workflow/
workflow/ task
task
Event Trace
Transaction: SWEL
Menu Path :Basic menu -> Tools -> Business Workflow -> Development -> Utilities ->
Events -> Event Trace.
Organisational Structure
Organizational Management
Organizational units contain positions, occupied by employees.
Jobs are abstract descriptions of task assignments.
Positions can be linked to jobs. They inherit all the tasks assigned to
that job.
Users. A user is an SAP logon user ID. It thus represents a single
person.
Persons. A person is a specific employee created in the HR module.
Workflow tasks can be assigned to organizational units, positions,
jobs or users.
The workflow system uses organizational structure to route work items
to the correct recipients
CreateExecutive
ExecutiveBoard
Board
Create
CreateSales
Salesregion
region, ,Production
Production
Create
Administrator, ,Sales
SalesManager
Manager
Administrator
SalesManager
Managereastern
easternZone
Zone
Sales
AssignHolders
Holders
Assign
Assigntasks
tasks
Assign
CreateSales
SalesOrder
Order
Create
Position: Secretary
Position: Secretary
Position: FI administrator 1
Position: FI administrator 1
Position: FI administrator 2
Position: FI administrator 2
Manager job
Manager job
Task
User 1
User 1
Job for secretary
Job for secretary
Task
User 2
User 2
User 3
User 3
Job for FI employee
Job for FI employee
User 2
User 2
Task
Agent
If the agents of the individual workflow steps are determined using the
customer-specific organizational chart, your agent assignment in the
workflow remains flexible to change.
Types of Agents
Possible agents
Possible agents
are a collection of
are a collection of
agents who qualify to
agents who qualify to
execute a work item
execute a work item
Processing
ProcessingAgents
Agents
Deadline
DeadlineAgents
Agents
Notification
NotificationAgents
Agents
Selected agents
Selected agents
are those possible
are those possible
agents who are
agents who are
elected to execute a
elected to execute a
task at runtime
task at runtime
Actual
Actualagent
agentisisthe
the
agent
among
those
agent among those
selected
selectedagents
agentswho
who
actually
processes
actually processesthe
the
work
workitem
item
Role Resolution
A role defines rules by which selected agents can be determined at runtime through
role resolution. Role resolution restricts the number of possible agents.
Role
Resolution
Role = Rules
(Supervisor of
User PBACON)
Selected Agent(s)
(Mr. Banning)
Standard Rules
A rule container is defined for each rule.
The rule parameters determine which information is required for the rule resolution
to be executed at runtime.
If an error occurs during rule resolution, setting the termination indicator for the rule
resolution determines how the workflow will continue:
Flag is selected - the workflow assumes an Error status and a notification is sent
to the workflow administrator.
Indicator is not activated - the workflow forwards this work item to ALL possible
agents.
Rule Basics
Transaction : PFAC_INS(Create)
Menu Path: Tools Business Workflow Development Definition tools Rules for Agent
Assignment Create/Change/Display.
Jones
Mr. Miller
Position : Administrator
HR
HR
Anna
George
Peter
Michael
David
Ross
William
Employee
Employee Names L-Z
Mr.
Mr. Andrew
Andrew
Position : Administrator
HR
Data Type
Name
Element
Uname
Name
Areas of Responsibility
Value From
From To
Name
A*
K*
L*
Z*
Which Value?
Which Agent
Mr. Miller
Mr. Andrew
Evaluation path describes how to find one or more organizational objects based
On an initial organizational units
Example
Evaluation path
Meaning
WF_ORGUN
WF_ORGUS
US_CHEF
Superiors of a users
SAP_HOLD
Holder of a position
Description
Example
OTYPE
OBJEC-OTYPE
US
OBJID
OBJEC_REALO
SMITH
ORG_AGENT
WFSYST_AGENT
USSMITH
2.
3.
4.
Parameter
Type
Name
Meaning
Table
AC_CONTAINER
SWCONT
Table
ACTOR_TAB
SWHACTOR
Exception
NOBODY_FOUND
Laboratory
Sales Office
Possible agents
User
Position
Job
Default role
Business
Workplace
TASK
R/3 action
Workitem completed
E x c e p t io n
R a is e d
D e te r m in e
R e c ip ie n ts
U s e r/G ro u p
g e ts n o tifie d
v ia a w o r k ite m
R e s ta rt th e
p ro c e s s
F ix th e e r r o r
U s e r c h e c k s in b o x
a n d e x e c u te s th e
w o r k ite m
Yes
C a n e rro r b e
f ix e d ?
No
End
P u rg e th e ID o c
Active Monitoring
Active monitoring allows to specify threshold values for the state of the system
For e.g threshold can be on the number of IDocs in error or the time limit
Report Program RSEIDOCA can be executed periodically
Selection screen takes as input the threshold values and persons to be notified
When defined threshold is exceeded Single Step Task TS30200088 is executed
Necessary Steps:
Create new object type in Business Object Repository for IDOC; object
is child of IDOCAPPL
Business Workflow
Customization
- Workflow -