SAP Business WORKFLOW In detail for beginners
SAP Business Workflow has been designed as a cross-application tool enabling the integration of business tasks across application limits. SAP Business Workflow therefore enhances the existing comprehensive business functions of the R/3 System.
SAP Business Workflow can be used, in particular, to adapt the standard functions of the SAP R/3 System to the specific requirements of a company, and provides technologies and tools for processing and controlling cross-application processes automatically.
All functions for working with SAP Business Workflow can be found in the area menu SAP Business Workflow (Development).
In addition, there is the area menu SAP Business Workflow (Organization) which has a reduced range of functions.
The integrated inbox can also be called directly from the initial screen of the R/3 System.
Customization
SPRO(IMG Customization) -> Basis Components -> SAP Business Workflow
Notification
Set of procedures to be followed using SAP Business Workflow if an error occurs.
Definition Tool
You work with definition tools if, as an administrator or a member of a project team,
you set up new workflow scenarios or modify and adapt the existing scenarios supplied
by SAP.
The definition tools include tools:
o For implementing a workflow definition (graphical workflow editor).
This workflow definition forms the basis for the workflow executions (workflow instances) based on it at
runtime. Workflow definitions can be displayed and implemented using the graphical workflow editor.
o For describing single-step tasks (individual business activities) with the option of addressing these work
steps to persons or groups (task definition in the task catalog of the organizational model).
o For defining object types with methods, attributes, and events, on which the tasks operate (object type
definition in the Business Object Repository).
The object methods describe the operations to be performed on objects in single-step tasks, the properties
of an object can be requested as attributes, and status changes made to objects are reported using
events.
o For defining roles in such a manner that rules are defined to determine appropriate agents of a single-step
task on the basis of runtime-dependent information.
o For defining customer-specific creation of events in order to react to status changes in application objects,
without SAP incorporating the creation of these events in the standard version.
Objects & Object Types
Due to the fact that SAP Business Workflow was developed based on an object-oriented design, it is possible to enter relevant information as objects in the R/3 System and describe this information in the object type definition .
The object types and their definitions are recorded in the Business Object Repository supplied by SAP in the standard version.
Examples of Object Types
With regard to R/3 applications, examples of object types (business object types) are:
· Documents (incoming invoices, purchase requisitions, applications, etc.)
· Master data (customer, material, vendor, etc.)
· Transaction data (order, quotation, etc.)
More abstract terms can also be examples of object types (technical object types):
· ABAP program
· Object type
· Method for an object type
Examples of Key Fields
· Object type: Material
Key field: Material number
· Object type: Accounting document
Key fields: Company code, document number and fiscal year
Examples of Methods with Method Parameters
· Object type: Accounting document
Methods: Create, display, edit
· Object type: Document
Method: Print with parameters printer type, paper format
Examples of Attributes
· Object type: Document
Attributes: Name of a person responsible or ordering party, creation date, amount,
completeness indicator
· Object type: Order
Attributes: Order opened (status attribute)
Examples of Events
· Object type: Material
Event: Occurred
Naming conventions exist for assigning names to object types and their components.
Business Objects
Object
Definition
Any type of connected information that can be accessed uniquely under an identifying key.
Most of this information is generally stored in a table in the ABAP Dictionary.
In a business scenario, there are usually one or more objects to be processed over several steps by various employees. The processing of the objects is to be traced actively until completion.
In the workflow system, which takes over the control and coordination of the processes, it must be possible to:
· Name objects,
· Access objects specifically (execute methods),
· Evaluate properties of objects for control purposes (read attributes),
· React to object events (occurrence of status changes).
Objects are created at runtime and are the specific instances of a previously defined object
type which have been assigned values.
Object Type
Definition
Generic description of an object created during the definition process.
The Business Object Repository is a complete directory of all object types.
Object types are described and implemented in the object type definition by specifying their components:
· Basic data
General information on the object type.
The basic data contains, in particular, the unique ID of the object type and the name of the program
containing the implementation. The basic data also includes the administrative data generated
automatically.
· Key fields
Fields for unique identification of an object.
The key fields of an object type are specified within the object type definition.
The definition of the key fields of an object type determines the structure of the identifying key, which
allows a specific object, that is an instance of the object type, to be accessed uniquely. The key fields
contain any key fields passed on by the parent type, supplemented with object type-specific key fields.
· Attributes (object properties)
Property or feature of an object.
Attributes can be used to formulate conditions in the workflow definition. The attribute values are read or
determined at runtime and used to control the workflow. Attributes are passed on from the parent type to
its subtypes.
· Methods (operations on objects) with parameters, result and exceptions
Operation that can be performed on an object.
Methods generally refer to existing ABAP functionality (function modules, transactions, dialog modules,
etc.) and are called via a standard interface defined mainly by the method name and method parameters.
The actual implementation of the methods is not of great significance here;it is not visible externally and
does not have to be known to the calling program of the method.
The following can be specified for each method:
· Import parameters (for synchronous and asynchronous methods)
· One result (only for synchronous methods)
· Export parameters (only for synchronous methods)
· Exceptions (only for synchronous methods)
Methods and their interfaces are passed on from the parent type to the subtypes.
· Events with parameters
Occurrence of a status change of an object. An event is created by any application or system program
(the event creator) and "published" system-wide.
An event is identified using the object type for which it is defined and its unique ID. In the object type
definition, additional explanatory texts (name, description) are stored for each event. These reflect the
content of the event.
Object | Event |
Invoice, vendor Miller | Entered |
Leave request, employee Mason | Approved |
Material, number 12345 | Arrived |
· Use as triggering event of a task: When the event occurs, the task is started as a reaction.
· Use as terminating event of a single-step task. When the event occurs, the task is terminated
as a reaction.
· Use in steps of a workflow definition of the types event creator and wait step.
The Menu path for defining the Object types is :
Tools -> Business Workflow -> Development -> Object Repository
Whenever a Business Object is created, it inherits events, methods, interfaces, attributes and
key fields from its parent.
There are various ways in which you can find out about the individual components of an object type and the meaning of their contents.
When calling object type definition, the components are displayed first as a tree structure directly on the initial screen. In the overview of the components of an object type, you can distinguish which component is involved.
Details on Key Fields, Attributes, Methods, and Events
In the menu Goto -> Obj. type components, select one of the menu options Key fields, Attributes, Methods or Events. Alternatively, you can also double-click on the entry with blue background on the initial screen of object type maintenance. A tabular overview of the components already defined is displayed. If no components exist yet, you see only the title line of an otherwise empty table.
Details on Method Parameters and Exceptions
A overview of the method parameters and exceptions defined for an object method is only displayed when you position the cursor on an object method and choose Goto –> Parameters or
Goto –> Exceptions.
Details on Event Parameters
A overview of the event parameters defined for an event is only displayed when you position the cursor on an event and choose Goto –> Parameters.
Basic Data
To edit or display the basic data of an object type, choose Goto –> Basic data.
Program
To edit or display the program, choose Goto –> Program. You branch to the ABAP Editor. There you can edit the program containing the implementation.
Tasks
Goal-oriented description of an activity.
From an organizational perspective, tasks are the central element in the workflow system.
Tasks are used to describe a business process. These tasks may require the execution of just one step (single-step task), or several, possibly parallel, steps ( multistep task).
Structure
Customer Task/Standard Task ("Single-Step Tasks")
Activity in which an object method is executed on a specific object.
· Customer task (defined by customer): Client-dependent, plan version-dependent, with validity period
· Standard task (defined by SAP or customer): Client-independent, plan version-independent, without validity period
Workflow Task/Workflow Template ("Multistep Tasks")
Activity described by a workflow definition.
· Workflow task (defined by customer): Client-dependent, plan version-dependent, with validity period
· Workflow template (defined by SAP): Client-independent, plan version-independent, without validity period
Like the other organizational management objects , tasks are identified by an 8-digit number with a preceding object type identifier, and described by an abbreviation and name.
Task Definition
There is one central definition environment for maintaining tasks of all types.
In the Area Menu SAP Business Workflow (Development) , choose Definition tools -> Tasks (or transaction PFTC).
Activities
Specify Task Type
In the Task type field, specify the type of task you want to edit, create or display. Enter the relevant type identifier:
T Customer task
TS Standard task
WF Workflow task
WS Workflow template
Creating Tasks
To create a new task, choose Task -> Create.
Editing Tasks (Changing, Displaying)
To change or display an existing task, proceed as follows:
Enter the 8-digit number of the task in the field Task.
Or
Enter the abbreviation (or part of the abbreviation) for the task in the Task field. If the system cannot determine a specific task from your entry, a selection list is displayed.
Then choose Task Change or Task Display.
Entry Help
If you do not know the number of the task, you can enter a value in this field using F4 (Possible entries). You can search either using the abbreviation of the task (search term) or the application component hierarchy ( structure search).
In the hit list, you can switch between the name (long text) and the abbreviation. This function is offered via the context-sensitive menu (right mouse button).
Deleting Tasks
To delete an existing task, enter the 8-digit number of the task in the field Task.
Select Task -> Delete.
The system checks whether the task to be deleted still has work items as runtime representations ("instances"). If this is the case, the task cannot be deleted. This is indicated by an appropriate error message.
To delete the task despite this, it must be "removed" from the system. To do this, use the archiving functionality provided: Archiving and Deleting Work Items
Copying Tasks
To copy tasks and change their type, if required, select Task -> Copy. Specify the task type, an abbreviation and a name for the new task. You can change the type between standard task and customer task or workflow task and workflow template.
You require the functionality for copying with type change in particular when you want to copy one of the workflow templates supplied by SAP into a workflow task for your own use.
The abbreviation and name of the copied task only exist in the logon language of the user who copied the task. The abbreviations and names of the original task which may already exist in other languages are not copied.
However, translations of the work item text and long texts are retained in the copy.
Tasks as Steps in a Workflow Definition
One task is referenced in an activity as a step in a workflow definition. An activity can refer to:
· A customer task/standard task
The activity hence refers to an object method indirectly.
At runtime, this customer task or standard task is represented by a work item that:
· Appears as a "dialog work item" in the integrated inboxes of the selected agents if this customer task/standard task requires dialog.
· Is processed as a "background work item" directly by the system if the customer task/standard task does not require dialog.
· A workflow task/workflow template
The activity hence refers indirectly to a workflow definition and represents a subworkflow, comparable to
a subroutine, within the workflow definition.
About Notification Procedure
Whenever an error occurs BO.inputerroroccured event is raised which means a function
module is called which has a unique id and that is called as Task Id.
To check the BO Type for the IDoc in which error occured
Tools -> Business Workflow -> Development -> Integrated Inbox -> Workflow -> Select Object -> Workitem(menu) -> Object -> Display -> Choose Detail.
To check relatioship between Object & Task
For every Object various Tasks can be assigned, one for each event.
To check this relationship 'go to transaction 'SWE2''
Idocs having errors
Transaction - 'SWLD'
Tools -> Business Workflow -> Development -> Integrated Inbox -> Workflow
Select one error item and Display.
R/3 Initial Screen
| Menu path | Transaction |
Integrated inbox | Office -> Inbox | SO01 |
Starting tasks (customer tasks/standard tasks;workflow tasks/workflow templates) | Office -> Start workflow | SWUS |
Area Menu SAP Business Workflow (Organization)
Area menu in SAP Business Workflow with all activities required in productive operation.
This means:
· maintenance of the organizational plan
· analysis and diagnostic tools of SAP Business Workflow
Menu path from the R/3 System initial screen:
Tools -> SAP Business Workflow -> Process structure
Transaction: SWLW
Structure
Menu Options in Area Menu SWLW
Definition tools Menu path Transaction
Definition tools ->
Maintaining an organizational plan Organizational plan –> Create PPOC
Organizational plan –> Change PPOM
Organizational plan –> Display PPOS
Maintaining assignments between SAP org. objects -> Create assignments PFOM
SAP organizational objects and SAP org. objects -> Display assignments PFOS
organizational units/positions
Runtime tools ->
Integrated inbox Integrated inbox SO01
Tasks started by the user Workflow outbox SWI3
(customer tasks/standard tasks;
workflow tasks/workflow templates)
Starting tasks (customer tasks/standard Start workflow SWUS
tasks;workflow tasks/workflow templates)
Determining all work items for an Object links SWI6
object type or object
Reporting ->
Analyzing work items according Work item analysis SWI2
to frequency, process duration, ...
Determining the workload of an Workload analysis SWI5
employee
Definition tools Menu path Transaction
Task analysis Task analysis SWI4