Você está na página 1de 122

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

SAP Business
Workflow

SAP Business Workflow is a crossapplication tool that makes it possible


to integrate business tasks/processes
between applications.

This tool was introduced in R/3 Release


3.0A, and received a substantial facelift in
the Enjoy Release, 4.6A,which warranted
the new name Workflow Builder.

Need of Workflow
2

I wonder who
approves buying
this stuff?

Hmm ! Time to put in a


purchase requisition
request

TIME IS
MONEY!!!
4

Time drags on . . .

I guess Id better send


off some inter-office
mail to ask the
approvers to approve
my requisition.

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.

Why SAP Workflow


Workflow ensures that the right work is sent to the right person at the
right time in the right sequence with the right information.
Tool for the automization of business processes
Not tied up to any paricular application
Operates uniformly accross applications
Coordinate all participating tasks
Provide users with active support
Intelligent routing

SAP Business Workflow


Architecture

Workflow
Architecture

Organisational
Level

Process Level

Business
Object
Level

Workflow Definition

Workflow Definition
A workflow definition describes the workflow process

Workflow definition consists of


1.
2.
3.
4.
5.

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.

Workflow Definition Steps

A workflow definition is made up of individual modular steps.

Example: Workflow Definition

How are Workflows


Created in a System

Within workflow templates, there is a key with the


following structure:
- A WS task abbreviation for the workflow template
- An 8-digit sequence number

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.

Working with
Workflow

Workflow Design

How workflow gets executed

Workflow Toolbox SWUS


Transaction: SWUS.
Menu Path: Tools -> Business Workflow -> Development -> Runtime Tools-> Start
Workflow (Test Environment).

Workflow Steps

Workflow definition
steps
Workflow definition is made up of individual
steps. When creating a step in a workflow
definition, the step type must be specified first.
There are
1.Steps which refer to business activities
(activities & user decision)
which are used for internal process
control and monitoring
(condition,
multiple condition, loop, etc)

2.Steps

Business Activities
Steps

Activity
Can be a single step task with basic business functionality
Can be a multi-step task, which reference to a workflow definition

User Decision
This provides an opportunity for user interaction with the system.
The response to this decides the selection of the subsequent step.

Document from template


PA document is created from a document template using variables in the text that are
filled during program execution.

Web Activity
Selected container elements are posted using http protocol in XML or SOAP message

Subworkflow

An activity which refers to a workflow rather than a task

Internal process
control Steps

Condition
Branch on the basis of control information from the runtime dependent
context of the workflow.
An attribute of this object can also be accessed for condition evaluation
Condition evaluation can be done by
Field comparison e.g constants , object attribute, system fields

Multiple condition
In contrast to condition, multiple condition makes it possible for the
workflow definition to branch in more than two branches.
For

evaluation of the multiple condition, the value of the basis of


comparison is checked at runtime against the comparison values and
branched accordingly.

Internal process
control (contd.)
WHILE Loop
Steps are processed repeatedly until the conditions
contained in the WHILE step no longer apply.

Until Loop
Steps are processed repeatedly until the condition
contained in the UNTIL step is true.

Fork
Used for parallel processing branches.
Only a part of the parallel processing branches actually
has to run to continue the workflow.
Dynamic parallel processing is also possible

Internal process
control (contd.)
Send mail
- Text entered in this step can be used to send a mail to the agent assigned
Container operations
- Used to perform arithmetic operation of value assignment to workflow
container elements using constants and data in the workflow container .

Internal process
control (contd.)

Event Creator
An event is created when this step in the workflow is
reached.
Other workflows can be started as a reaction to the event
created in this step. This event must be the triggering
event of the relevant workflow tasks and/or templates.

WAIT for event


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

Task & Workflow Definition

Tasks are used to describe a business process

Standard Task(TS)
Single step
Customer Task(T)
Tasks
Workflow Template(WS)
Multistep
Workflow Task(WF)

Similarities and
differences of task
types
Customer Task (Type T)
Workflow Task (Type WF)

Standard Task (Type TS)


Workflow Template (Type WS)

Created by customer
customer

Created by SAP and

With validity period

Without validity period

Client-dependent

Client-independent

Must be linked to its possible


possible
agents when it is defined

Must be linked to its


agents when it is defined

Single and Multistep


Tasks
Transaction : PFTC
Menu Path -> Tools -> Business Workflow -> Development -> Definition tools ->Tasks

Single step

References one object type


method and displays one step
in the business process

Multistep

Represents the business


process and is a sequence of
individual tasks and control
steps

Tasks

Single-step tasks
Single-step tasks describe elementary business activities.

Single-step tasks operate on an object and refer to one object method


each

Single-step tasks are linked to their possible and permitted agents


whose organizational assignments are described in the organizational
plan of the enterprise.

Executable single-step tasks are represented by work items at runtime.

Workflow definition - Multistep tasks

A workflow definition has a modular structure consisting of individual steps


which are linked together.

The multistep tasks form the business framework for a workflow definition
and each references one workflow definition.

A step in a workflow definition can be an activity.

An activity always refers to one task (= single-step task or multistep task).

An activity with one simple triangle refers to a task.

An activity with three triangles refers to a workflow (subworkflow).

Synchronous and
Asynchronous
Methods

Defining a Task

Settings for Tasks


Task executed in
background
depending on
object method

At runtime user can create


attachments
User explains explicitly
that work item is no longer
is to be processed

Background

SAPphones

The workflow dials


the telephone
number attached to
the current customer

Confirm end of
processing

Important Task
Attributes

General
-Workitems can be executed and forwarded to any SAP
User

General Forwarding Allowed


-Workitems can be forwarded to any user

General Forwarding Not Allowed


-Work items can be forwarded to possible users

Forwarding not allowed


-No forwarding allowed

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&

Business Object Definition


and Implementation

Object Types & Workflow


SAP Business Workflow has been developed on an objectoriented basis.
The business object types are identified and described with their
object methods in the Business Object Repository(BOR) of the
R/3 System.
Generally one object is created in the system and then processed in
a workflow over several steps by various employees.

Object Types & Objects


Workflow deals with object types. Object types are definitions of
data. In order to access database data, workflow uses the object
type interface.
Most of the information represented by object types is available in
the ABAP/4 Dictionary.

Objects are created at runtime and are specific instances of


defined object types.
Many object types are delivered by SAP. In addition, the customer
can create new object types or extend SAP objects by creating
subtypes (child objects). New customer objects or subtypes may
be desired if the delivered SAP object does not contain all the
characteristics (attributes) or processing options (methods) desired.

Object Type - Definition

Interfaces

Interfaces are a combination of attributes, methods, and events


to be used in common among multiple object types. The purpose
of interfaces is to define common functionality in one object
type, and to assign that common functionality via an interface to
multiple object types across the Business Object Repository.
This avoids redundancy of data and functionality definition.

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 :

Methods
lt
u
s
e
R

Import
Parameters

METHOD

Export
Parameters

io
pt
ce s
Ex n

Methods - Call attributes


Dialog / or background :
Execution of the method is via a work item in a users
integrated inbox or in background by the workflow runtime
system. Background methods cannot use messages or
exceptions because they cannot be processed by the
background system and will result in termination of the
program.
Synchronous / Asynchronous
Synchronous

methods finish executing before handing


control back to the calling program. These types of
methods can return export parameters, results and
exceptions. Asynchronous methods do not return control to
the calling program immediately. Once executed, they
depend upon events to communicate the results of the
method back to the calling program. Asynchronous object
methods cannot have results, export parameters or
exceptions.

Methods - Call attributes


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.

Import /Export
Parameters
The method parameter container contains references to all import,
export and result parameters which need to be exchanged back and
forth between the calling program (single-step task) and the
method. Binding is necessary between the single-step task and the
method parameter container to accomplish the data transfer.
Import parameters are those values which are necessary to
execute the method. Import parameters are retrieved from the
container CONTAINER using the macro instructions
SWC_GET_ELEMENT (single-line) or SWC_GET_TABLE (multiline).
Export parameter values are passed to the container CONTAINER using the
macro instructions SWC_SET_ELEMENT (single-line) or SWC_SET_TABLE
(multiline). The result parameter is passed to the CONTAINER element
RESULT via the same macro instructions.

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

Object Type - Release Status


Not accessible at runtime.

Only in test or internal use, possibly unstable.

Released for use by the customer.

The functionality has been replaced. The old


functionality is still supported for two releases.

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

Objects in the
workflow

Business Object Repository (BOR)


Transaction: Menu Path: SW01
Tools Tools - Business Workflow Defination tool Busniness Object Builder

Some common Business


Objects and Interfaces
BKPF
BUS2019
BUS2020
BUS2041
BUS2069
BUS2029
EKKO
VBAK
BUS2032
IFSTATUS
IFARCH21
IFIDOCOUT

Posting document
Customer document
Vendor document
Asset document
G/L account document
Price change
Purchasing document
Sales document
Sales order
Generate events from status management
Archive Link Interface
IDoc outbound processing

Containers and Bindings


- Workflow -

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

Other Types of
Containers
Event parameter container
Contains an element which can take the (object) reference to
the object
whose change of status is announced via the event.
Role parameter container
Contains the elements required as input in connection with the
role
resolution to be run at runtime.
Method parameter container
Contains elements which will be required as import and export
parameters
in connection with the method execution.

What is a Container?
Container
Definition

Container
Instance

Field values

Application
Data

Multiline lists
of field values
Object
references
Definition

R/3

Runtime

Defining Container
Elements
Element name Data type
Description Multi-line Value
reference
Element
Element
Element

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

Container & Dataflow


Workflow
Container

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

Some Standard
Container elements

WI_Object_Id:
At runtime, the task container element
_WI_Object_Id contains the
reference to the object
which is processed in the object method.

_WI_Result :
If the customer task/standard refers
to a synchronous object
method the result of the
method is available in the element of the task container.

_Evt_Object :
This reference to the object initiating
the event allows you to
access the attributes of
this object

Business Object programming

Some Key features

BOR programming makes extensive use of macros.


The macro instructions required for programming are incorporated via
the include <object>.
The Business Object Builder always works with object references. Object
reference is created in the calling program with the macro
SWC_CREATE_OBJECT
All object references have the data type definition as SWC_OBJECT
DATA: Customer type SWC_OBJECT
Each object program contains the variable SELF which, in turn, contains
a reference to the object instance with which the program was called.
The object declaration is a complex structure that includes the key fields
(OBJECT-KEY-ID) The attribute buffer is used to minimize recalculation.
Each object type programming is bounded by the macros BEGIN_DATA
and END_DATA.

Container Marcos
Definition and Initialization
SWC_CONTAINER <Cont>
SWC_CONTAINER_CREATE <Cont>
Reading and Setting elements
SWC_GET\SET_ELEMENT <cont> <element> <value>
SWC_GET\SET_TABLE <cont> <element> <int_tab>

CUSTOMER_NUMBER =
CUSTOMERNUMBER
CUSTOMERNUMBER
SALES_ORGANIZATION
SALES_ORGANIZATION =
=
SALESORGANIZATION
SALESORGANIZATION
-----------.
IMPORTING
IMPORTING
RETURN = RETURN
TABLES
SALES_ORDERS
SALES_ORDERS =
=
SALESORDERS
SALESORDERS
EXCEPTIONS
EXCEPTIONS
OTHERS
OTHERS = 01.
CASE
CASE SY-SUBRC.
SY-SUBRC.
WHEN
" OK
WHEN 0.
0.
WHEN
"" to
WHEN OTHERS.
OTHERS.
to be
be
implemented
ENDCASE.
ENDCASE.

Writing/Reading
Container Elements
Defined as Field Values

SWC_SET_ELEMENT
SWC_SET_ELEMENT CONTAINER
'Return'
'Return' RETURN.
RETURN.
SWC_SET_TABLE
SWC_SET_TABLE CONTAINER
CONTAINER
'SalesOrders'
'SalesOrders' SALESORDERS.
END_METHOD.
END_METHOD.

Macros for object


definition and declaration

Declaration:
Data: <object> TYPE SWC_OBJECT
Example
DATA: Customer type SWC_OBJECT

Definition:
SWC_CREATE_OBJECT<Object>
<ObjectType><ObjectKey>
Example
SWC_CREATE_OBJECT Customer KNA1
customer_number

Macros for Attributes


and Method
Attribute Access
Single value attribute uses the macro SWC_GET_PROPERTY
SWC_GET_PROPERTY <Object><Attribute><Attribute Value>
Multiple value attribute uses the macro SWC_GET_TABLE_PROPERTY
SWC_GET_TABLE_PROPERTY <Object><Attribute><Attribute
Value>
SWC_GET_TABLE_PROPERTY Customer SalesOrderList
salesordertab
where salesordertab is an internal table.
Method Call
SWC_CALL_METHOD <object> <method><container>

Events

Event

An event describes a possible status change for an object in the


SAP System.

Before an event can be used in a workflow, it must be defined in


the Business Object Repository for the object type.

Events must be triggered explicitly. The application itself can be


the triggering agent.

Types of Event
Creation
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

Using Customizing for


event trigger
Menu Path :Basic menu -> Tools -> Business Workflow -> Development -> Definition tools
-> Events

Event Creation of
Change Document
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

Event Creation of
Status Management
Status
Status
Management
Management

When user status


changes to E002 ,
event is triggered

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 Creation of
Message Control
Triggering an event using message control occurs with NAST.
Create
Create Message
Message type
type and
and define
define
workflow
workflow as
as transmission
transmission medium
medium
Create
Create Condition
Condition Table
Table
Create
Create Access
Access Sequence
Sequence
Assign
Assign Access
Access Sequence
Sequence
to
to defined
defined message
message type
type
Define
Define Condition
Condition Records
Records
Assign
Assign message
message type
type To
To procedure
procedure

Maintain the processing program RSWEMC01


with the FORM routine CREATE_EVENT for
the output type EVEN and transmission
medium 9.

Using ABAP Code


This is using done by writing custom
code e.g. by using SAP FM like
CALLFUNCTION
FUNCTION'SWE_EVENT_CREATE'
'SWE_EVENT_CREATE'
CALL
SWE_EVENT_CREATE
inside user
EXPORTING
EXPORTING
OBJTYPE
OBJTYPE
OBJTYPE
==OBJTYPE
exits, BADI etc.
OBJKEY
OBJKEY
OBJKEY
==OBJKEY
EVENT
EVENT
EVENT
==EVENT
CREATOR
APPLICANT
CREATOR
==APPLICANT
START_WITH_DELAY ==' '' '
START_WITH_DELAY
IMPORTING
IMPORTING
EVENT_ID
EVENTID
EVENT_ID
==EVENTID
TABLES
TABLES
EVENT_CONTAINER
CONTAINER
EVENT_CONTAINER
== CONTAINER
EXCEPTIONS
EXCEPTIONS
OBJTYPE_NOT_FOUND==01.
01.
OBJTYPE_NOT_FOUND

SY-SUBRC==0.
0.
IFIFSY-SUBRC
COMMITWORK.
WORK.
COMMIT
ENDIF.
ENDIF.

Event Creators,
Receivers and Event
want
Linkage Anybody
this event?
Event
Published
Events
Linkage

Receivers

Creator

Type Linkage Entry


Transaction: SWE2
Menu Path :Basic menu -> Tools -> Business Workflow -> Utilities > Other tools >Event linkage

Event Trace
Transaction: SWEL
Menu Path :Basic menu -> Tools -> Business Workflow -> Development -> Utilities ->
Events -> Event Trace.

The Event trace needs to be switched on for the event to be visible in the trace

Organisational Structure

Organizational Structure Business Scenario


An organizational plan in SAP describes the organizational structure
of a company.
The workflow system finds the agents of the individual tasks by
evaluating the organizational plan
The functions to create and maintain organizational plans are part
of the Personnel Planning and Development (PD) part of the SAP
HR module
You must connect this organizational structure to the workflow

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

Create Organisational
Plan

Transaction: Menu Path: PPOCW


Tools Business Workflow - Development - Environment - Organizational Management Simple Maintenance Org plan basic data - Create
Createroot
rootorganizational
organizationalunit
unit
Create
Additionalorganizational
organizationalunits
units
Additional
Createjobs
jobs
Create
Createpositions
positions
Create

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

Assigment Workflow Task Organizational


Objects
Organizational unit: FI department
Organizational unit: FI department
Position: Head of FI depatment
Position: Head of FI depatment

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

Transaction - PPOCW

Agent Assignment and


Role Resolution
- Workflow -

Agent

Agent is an executor of a work item.

Agent is responsible for executing a task in a workflow.

Agent is determined by the system either through organizational chart


or directly if user is assigned as agent for a particular task.

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

List of possible agents


(executors) of a task
(All supervisors in a dept.)

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.

Each rule gets a 8 digit generated by the system prefixed with AC


Rules can be tested using PFTC or by function module RH_GET_ACTORS

Rule Definition in a
Activity Step Type
Various options to create standard rules :
1. Responsibility

(Pure configuration no ABAP coding)


Defined Value ranges are assigned to Agents
Data is filled from workflow container at runtime

2.

Evalution paths (Pure configuration no ABAP coding)

3.

Organizational data (Pure configuration no ABAP coding)


Jobs , positions

4. Functions

to be executed ABAP Code Function Module

Rule Definition with


Responsibility:
Example
Employee
Employee Names A-K

Smith

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

Responsibility:
Example
Rules Container Definition

Containe
r
Element
AreasElement
of Responsibility
Value
From
A*

Which Value?

L*

Data
Type

Name

Unam Name
From
Name
e
To
K*
Z*

Employee
Which Agent
s from A-Z
Employee

Mr. Miller

Mr. Andrew

Evaluation path as Rule


Transaction : OOAW
Menu Path:

Evaluation path describes how to find one or more organizational objects based
On an initial organizational units
Example

Evaluatio
n path

Meaning

WF_ORGU Get organization unit for


N
a user id/person id
WF_ORGU All users of a
S
organization unit,job,
position
US_CHEF

Superiors of a users

SAP_HOL

Holder of a position

Evaluation path as Rule contd.


Here are the basic steps:
1.
2.
3.
4.
5.

Determine the evaluation path that needs to be used


Create a rule setting the type Function to be executed.
Enter function module RH_GET_STRUCTURE
Enter the evaluation path determined in step 1 above
Following rule container needs to be created

Name

Data
type ref

Description

Exam
ple

OTYPE

OBJECOTYPE

Type of organizational
management object

US

OBJID

OBJEC_R
EALO

ID of organizational
management object

SMIT
H

ORG_A

WFSYST_ Organizational

USSM

Role Resolution with


Function Modules

Role resolution with function module should be done only for complex criteria
Here are the basic steps:
1. A function module with the following interface is created

Para Name
mete
r
Type
2.
3.
4.

Data
Type
Ref

Meaning

Table AC_CONTA SWCON Incoming rule


INER
container
Create a rule
setting the typeTFunction to be
executed.
Enter
the created
function module
name Outgoing list of
Table
ACTOR_TA
SWHAC
Create container
elements. TOR
B
agents in agent

format

Exce
ption

NOBODY_F
OUND

Exception indication
no agents found

Execution of a Role Resolution


via Organizational Objects
Via organizational objects: Role resolution utilizing organizational data
analyses
the assignment of an organizational object (plant, laboratory, MRP
controller,
planner group, shipping point, sales office) to a position or
organizational unit.
Plant

Laboratory

Sales Office

Tasks: Possible
Agents & Default
Roles
Possible agents
User

Position

Job

Org. Unit Person

Default role
Business
Workplace

The workplace displays the


work items for a agent

TASK

How are Selected


Agents Determined
With and Without a
Default Role?
Possible Agents

Triggering
Event

Task definition with


no default role
Task definition with
default role

How are Selected


Agents Determined
With a WF Agent?
Triggering
Event
Task definition with
no default role
Task definition with
default role
Step definition at workflow
defn. level with an agent
specified. This overrides
default role at task defn. level

All possible agents who


qualify to execute task

Workflow and ALE

ALE error handling


User action

R/3 action

Error in inbound function module


ALE triggers error event
input Error Occurred

Workitem appears in user's Inbox


Execute Workitem
Display IDoc for user processing
(IDoc method "InputForeground")
Fix error and reprocess IDoc
or
Flag IDoc for deletion
ALE triggers end event
input Finished

Workitem completed

Workflow and ALE


Error

Notification

Active
IDOC

Monitoring

Processing

Notification

of successful posting

Workflow and Error


Notification
B u s in e s s U s e r A n a ly s is

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

Setting up Inbound Process via Workflow

The standard system can be configured to start a WF for an incoming IDoc.


Useful when review is essential before posting
Custom. SAP does not deliver standard.
The settings are:
--Create the custom task or WF
--Create a new process Code ( WE42) and attach this
custom WF/Task.
--In the Partner Profile, attach the new Process code

Notification of
Successful Posting

The ALE/EDI interface can raise events on


successful posting of an IDOC. The settings are:
--Identify the Appl.Obj created by the Idoc.
Txn: WE57
--Identify the event that needs to be raised.
--Go to BD67, select Process code and
populate Object
type and Event.
--Identify/Create tasks/WF and enable event
linkage.

ALE error handling

Necessary Steps:

Create new object type in Business Object Repository for IDOC; object
is child of IDOCAPPL

Create new customer task

Create event-couplings linking

Event inputFinished to function module

To support mass processing:

Event inputErrorOccured linked to standard task

Create new object type as child of IDOCPACKET

Maintain process code to refer the above objects and events

Few Imp T-code/tables


- Workflow -

Workflow Customizing - SWU3

Workflow log-SWI2_FREQ

The value with each container variable is populated can be viewed

Agents can be viewed before processing the work items

Maintain start
conditions for
workflow:
SWB_COND

Some Important
Diagnosis
Transaction
PFTC/SWDD: Task editor/Workflow Builder
SWU3: Verify Workflow Customizing
SWEL: Event Log
SWE2: Event type linkage
SWU0: Event simulation
SWI1: Work item list
OOCU: Customizing overview
SWUE/SWUS: Event/workflow trigger

Some Important
Tables

SWW_OUTBOX -Lists Workflows in outbo


SWW_CONT -Container Contents for Work
SWW_CONTOB -Container Cont. for Wor
(Only Objects)
SWWLOGHIST -History of a work item
SWWORGTASK -Assignment of WIs to Or
SWWUSERWI
-Current Work Items Ass
SWWWIHEAD
-Header Table for all Wor

Some Important Jobs

SWWDHEX For deadline monitoring

SWWERRE For error Monitoring

SWEQSRV For Event Queue


Delivery

Você também pode gostar