There are two major types of TASKS: Single-step task Workflows Examples for single-step tasks: posting an invoice approving a preliminary financial document changing a material master approving the absence of an employee For each new single-step task you have to ask yourself three questions: who will do this work? what work has to be done? which message do you want to send?
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 a single-step to be executed or several, possibly parallel, steps (workflow). Tasks are designed as independent, reusable modules. They can either be executed alone as single-steps or they are a part of a workflow. Workflow templates (WS) and Standard tasks (TS) are client independent and have no validity period. You can find in your system workflow tasks (WF) and Customer tasks (T ). They are client-specific and have a validity period. These tasks are being faced out. NOTE: As of release 4.5A, only cross-client single-step tasks (standard tasks) and multistep tasks (workflow templates) should be created.
First : Assign the method of a business object type to your task. Second : Assign a possible agent. This could be to a group of organizational elements or the task could be defined as a general task. If the task is a general task, then every SAP user is a possible agent. Third : Define the work item text and the long text of the task. Here you can use the attributes or the key of your business object type as a parameter. Fourth : For dialog tasks you can set the “completion flag.” This will enable the selected user at run-time to create an attachment after the method was done.
A task refers to one method of an object type. A dialog task has to have possible agents. Only these agents are allowed to start this task at runtime. There are two types of agents for every dialog task: Direct assignment to special organizational elements or Make the task a “general” task where all users are assigned to a task. The work item text will show up in the description column of the Business Workplace. The task description can be used to inform the user about the work, which has to be done. There are individual message texts for all kinds of missed deadlines The variable parts of all those texts are automatically replaced at runtime by accessing the attributes of the processed objects.
A task could have a relationship to the SAPphone functionality. There are several SAPphone scenarios, for example: Sales service application. A sales service clerk wants to place a call to a customer. The workflow will dial the telephone number, which is attached to the current customer-object of the workflow. After the connection is established, the sales clerk can talk to the customer while viewing the important customer data on the screen. Customer service application. A customer is calling your company. A telephone service tool will ask the customer to enter the customer contract number. The SAP system will collect the important customer data and start a workflow. The next available customer service clerk will start that work item. Her or his telephone is now connected to the customer and the customer data is displayed on her or his screen.
The long text is using the same concept for variables. Example for a task description of the “approver step” Employee &_WI_Object_ID.CreatedBy& created a notification of absence under the number &_WI_Object_ID.Number& on &_WI_Object_ID.CreateDate&. Please decide whether to approve.
The terminating events are the public events of the business object type this task is based on. You have to assign the terminating events to each task. Example: The asynchronous task “Delete Vacation Request” should have one or more terminating events: deleted DeleteErrorOccurred. Example for a synchronous task with a terminating event: The “Approve applicant resume” task could be terminated by a company-wide “hiring freeze”.
If a task refers to an asynchronously called object method, it requires (at least) one terminating event. A terminating event for a task is specified as follows: object type for which the event is defined name of event container element of task container The terminating event is created by a particular object whose object ID is not yet known at the time of definition. In order to be able to implement the reaction to the event, an element of the task container containing the object reference at runtime is specified.
The method could return export parameters, one result parameter or exceptions.
The object type “notification of absence” (FORMABSENC) is used as an example demonstrating the attributes, methods and events above. This object type and its methods will be used as a basis to define first of all standard tasks and, in a subsequent chapter, a workflow.
In order to define the binding from the task container to the role parameter container, an element must first be created in the task container which can include the name of the person submitting the notification of absence. The information about the applicant is transferred (later on) in the binding from the workflow container to the task container. The element in the task container is created as a mandatory import element under the name AF_Creator with a data type reference to the ABAP Dictionary field WFSYST_Agent.
A step in a workflow can refer to an activity. An activity is pointing to a task, if it is a single triangle. An activity is pointing to a workflow, if it has three triangles (the referred workflow is called subworkflow) The binding will define the data flow between the different containers in a workflow. Every time you insert a task into a workflow, make sure the correct data will be transported at start time of the work item into the task container and at the end of the work item back to the workflow container. The responsibilities will determine the recipients for this step. Those recipients will receive the work item in their workplace. The notification agent will receive a SAP mail message after the step is completed. There are two major deadline escalation procedures, “simple” and “modeled” deadlines. You can define special receivers for the “simple” deadlines.
Task groups are defined to link logically connected tasks together. Note also that task groups can have a description text. The use of the task group can therefore be precisely documented. Hence, it is possible for example, to: Place workflow templates that only communicate with each other via events together into a task group in order to get a better overview. Collect tasks (workflow templates and standard tasks) that belong to one work area in order to increase reusability. Task groups are also useful in defining the search range of the Business Workflow Explorer. The Business Workflow Explorer can then display the tasks of these task groups. Important note: Task groups can only contain the task types 'workflow template' and 'standard task'. Workflow tasks and customer tasks are no longer supported.
Tasks pass on their properties to the collected tasks and task groups. This inheritance also continues through any assigned task groups. As shown in the graphic, the tasks in a task group also inherit the properties of the task group highest in the hierarchy. With very extensive inheritance hierarchies, you may carry out undesired agent assignments by assigning an organizational object to the highest task group. Please ensure that the change of responsibility of the task group is also desired for the assigned tasks and task groups.
The Business Workflow Explorer facilitates the management of workflow projects. All tasks can be assigned to a task group. The relevant employees incorporate this task group into the search range of the Business Workflow Explorer. The functions shown here can always be accessed via context menus (right-hand mouse button). The following functions are also possible: Display current workflows of task Quick overview of most important task attributes The Business Workflow Explorer always works on a defined search range, which can be defined interactively by the user. However, you should note that calling the Business Workflow Explorer takes longer than the largest chosen search range since all tasks have to be imported with their attributes. Therefore, please ensure that the chosen search range is not unnecessarily large. Parts of the Business Workflow Explorer can be used within the Workflow Builder.
The search range of the Business Workflow Explorer can be defined using the following objects: Task groups This is the preferable option since granularity is optimized. In principle, every workflow modeler can create one or more task groups for sorting their tasks. Application components Not a very precise sort key and is unlikely to be significant in customer projects. Extras SAPphone tasks Tasks suitable for telephony (incoming calls, outgoing calls or both). Local objects All local tasks in the system. Only your own local tasks (user-specific) The tasks used in a workflow definition can be displayed in greater detail via 'View->Details'. The Explorer then shows more task data in additional columns (object type, method, agent assignment, background task, etc.). If you click on a multistep task in the left-hand tree, it is always the newest (not the active!) version that is read and displayed in detail in the right-hand tree.
09 01 tasks
Tasks <ul><li>Contents: </li></ul><ul><li>Basics for defining a task </li></ul><ul><li>Advanced components for defining a task </li></ul><ul><li>Task Groups </li></ul><ul><li>Business Workflow Explorer </li></ul>
Tasks: Objectives <ul><li>At the conclusion of this section, you will be able to: </li></ul><ul><li>Create a task </li></ul><ul><li>Define the basic components of a task </li></ul><ul><li>Define the advanced components of a task </li></ul><ul><li>Define and use Task Groups for structuring tasks </li></ul><ul><li>Use the Business Workflow Explorer </li></ul>
Tasks: Business Scenario <ul><li>You realize that in a workflow only a task brings about functionality </li></ul><ul><li>You want to build the new task (Display Material) to fulfill some requirements of your business process </li></ul><ul><li>You must discover all characteristics of your task to correctly integrate it into your workflow definition </li></ul><ul><li>Existing tasks are to be grouped into a Task Group </li></ul><ul><li>Tasks are to be managed by the Business Workflow Explorer </li></ul>
Task Types Task types SAP functionality Object type Attribute Method Workflow Organizational plan workflow definition Task
Tasks Task Reference to object method or manual activity Workflow Reference to workflow definition Standard task TS Workflow template WS
Example for a Task Material: My_part Old Material: Original_part New_part Change documents Event ZBUS1001. Old_Material_changed Task Display Material (completion flag) Org-Plan Engineering unit Designer position Holder: Mary ZBUS1001.Display Attributes and Key of ZBUS1001 WHO ? Possible agents What ? Work item and Long Texts
Define a Dialog Task Object type with object method Standard task Properties <ul><li>Who is responsible for the task? </li></ul><ul><li>What is to be executed by the task? </li></ul><ul><li>Work item text : title of work item in worklist </li></ul><ul><li>Long texts : </li></ul><ul><ul><li>Description </li></ul></ul><ul><ul><li>Notification </li></ul></ul><ul><ul><li>Missed deadlines </li></ul></ul>Texts <ul><li>Terminating events </li></ul><ul><li>Triggering events Only if the task is not used in a workflow </li></ul>Events Organizational plan “ General” Task: all SAP users
Settings for a Task <ul><li>Background </li></ul><ul><ul><li>Based on the Object Method, the task can be flagged as background </li></ul></ul><ul><li>Completion flag </li></ul><ul><ul><li>During runtime, the user has the chance to create an attachment after the work item is finished. </li></ul></ul><ul><li>SAPphone </li></ul><ul><li>Form (SAPforms Indicator) </li></ul><ul><li>Flag for Internet-enabled task </li></ul>
Work Item Text <ul><li>Work item text </li></ul><ul><ul><li>Title of work item in the Business Workplace </li></ul></ul><ul><ul><li>First create the work item text and place the cursor to include a variable </li></ul></ul><ul><ul><li>Afterwards choose object attributes from the task container </li></ul></ul>Example : <ul><ul><li>Please process request from &_WI_Object_ID.CreatedBy& </li></ul></ul>
Task with Terminating Events <ul><li>Tasks based on a synchronous method can have terminating events </li></ul><ul><li>Tasks based on an asynchronous method must have at least one terminating event </li></ul><ul><ul><li>The asynchronous method is only started by the Workflow system </li></ul></ul><ul><ul><li>The asynchronous method is calling a transaction of an SAP application </li></ul></ul><ul><ul><li>The application will eventually raise the terminating event </li></ul></ul><ul><ul><li>The task is completed when one of the terminating events is raised </li></ul></ul>asynchronous object method single-step task Terminating event
Terminating Events <ul><li>Terminating event </li></ul>_WI_Object_Id _WI_Actual_Agent Task container Element _WI_Object_ID of task container ... Object type Notif. of absence Event Deleted Element Terminating events ... or another element of the task container, which refers to the triggering object type of the event. _WI_OBJECT_ID FORMABSENC DELETED
Task with Synchronous Method <ul><li>The task is completed when the method reports back to the workflow system or is terminated by the terminating event </li></ul><ul><li>Dataflow between the task and method parameter containers are in both directions </li></ul>synchronous object method single-step task terminating event
Object Type: Notification of Absence Key fields Attributes number date of approval date of creation Methods display notif. of absence form create notif. of absence form delete notif. of absence form update notif. of absence form approve notif. of absence form Events notification of absence created dialog synchronous asynchronous dialog synchronous dialog synchronous result dialog synchronous notification of absence deleted created by approved by Number ApprovDate ApprovBy Display Create Delete Update Approve Created Deleted CreateDate CreatedBy Object type FORMABSENC
Standard Task: Approving a Notif. of Absence approve _WI_Result is created automatically “ approve notification of absence from &” use &_WI_Object_Id.CreatedBy& confirm completion of processing job : head of department not applicable Object type Properties Object method Work item text Link Terminating events FORMABSENC Task container definition Assign container elements Container element synchronous method; method with dialog Long text notification of absence AF_approve
Standard Task: Deleting a Notification of Absence delete Event : DELETED (notification of absence deleted) not necessary background processing not applicable not applicable asynchronous method Object type Properties Object method Work item text Link Terminating events FORMABSENC Task container definition Assign container elements Container element _WI_OBJECT_ID Long text not applicable notification of absence AF_delete
Insert a Task into a Workflow <ul><li>After you have created an activity in the Workflow Builder: </li></ul><ul><ul><li>Choose </li></ul></ul><ul><ul><ul><li>task or </li></ul></ul></ul><ul><ul><ul><li>workflow </li></ul></ul></ul><ul><ul><li>Name the subsequent outcomes </li></ul></ul><ul><ul><li>Provide the binding for Task Workflow container data exchange </li></ul></ul><ul><ul><li>Define the responsibilities </li></ul></ul><ul><ul><li>Design the deadline escalation </li></ul></ul>Step type activity in a workflow Activity 1 Multiple outcomes Activity 2 Multiple outcomes ... refers a task ... refers a workflow
Task Groups Task group 1 It is possible to have task groups within task groups Only standard objects (workflow templates and standard tasks) Task group 2 Workflow template 1 Workflow template n ... Standard task 1 Standard task n ... Task group 3 Workflow template 1 Workflow template m ... Standard task 1 Standard task m ...
Task Groups: Inheritance USSCHMIDTPA (Patrick Schmidt) USSCHMIDTPA (Patrick Schmidt) Workflow template x Task group 2 Task group 3 USSCHMIDTPA (Patrick Schmidt) Standard task x USSCHMIDTPA (Patrick Schmidt) USSCHMIDTPA (Patrick Schmidt) Workflow template y Standard task y Task group 1 USSCHMIDTPA (Patrick Schmidt) USSCHMIDTPA (Patrick Schmidt) Passes on agent assigned USSCHMIDTPA Passes on agent assigned USSCHMIDTPA
Business Workflow Explorer <ul><li>One medium for managing tasks and workflows </li></ul><ul><li>Functions available include... </li></ul><ul><ul><li>Create </li></ul></ul><ul><ul><li>Change </li></ul></ul><ul><ul><li>Display </li></ul></ul><ul><ul><li>Copy </li></ul></ul><ul><ul><li>Agent assignment </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><li>No help values required. All relevant tasks are directly displayed. </li></ul>
Business Workflow Explorer: Operation All single-step tasks are displayed Multistep tasks: All single-step and multistep tasks used are displayed Verfügbare Objekte Query Task Edit Goto View System Help Business Workflow Explorer Task Abbreviation Name All tasks for notifications of absence Multistep tasks WS9990000 Notification of absence (test) WS9990003 Notification of absence (productive) TS9990003 Create notification of absence TS9990007 Approve notification of absence TS9990012 Display notification of absence TS9990015 Delete notification of absence Single-step tasks TS9990003 Create notification of absence TS9990007 Approve notification of absence TS9990012 Display notification of absence TS9990015 Delete notification of absence WS9990003 Notification of absence (productive) TS9990003 Create notification of absence TS9990007 Approve notification of absence TS9990012 Display notification of absence TS9990015 Delete notification of absence Task Abbreviation Name
Tasks: Summary <ul><li>Two types of tasks: Single- step tasks and workflows </li></ul><ul><li>Single-step tasks refer to object methods </li></ul><ul><li>Workflows refer to single-step tasks and/or other workflows </li></ul><ul><li>Single-step tasks that are: </li></ul><ul><ul><li>synchronous: can have terminating events </li></ul></ul><ul><ul><li>asynchronous: must have (at least one) terminating event(s) </li></ul></ul><ul><li>You can create and maintain Task Groups </li></ul><ul><li>You are now familiar with the Business Workflow Explorer </li></ul>
SAP Workflow Course PwC Consulting TM refers to the management consulting services businesses of the member firms of the worldwide PricewaterhouseCoopers organisation. 2001 PricewaterhouseCoopers. All rights reserved.