Developing a simple application using steps "User Decision" and "Mail

The workflow definition is the set of rules that determine the path that the process takes. For example, how a purchase requisition is processed, from the initial request to the creation of the purchase order A Workflow Instance, which is often simply referred to as the workflow, is a single workflow run. For example, the processing of a single purchase requisition for computers. The Tasks are the steps in the process, which have to be performed either by people or automatically by the software. For example, to check for the availability of the spare computers in the company. A Work item is the task instance that is performed as a single workflow step. For example, check that there are no spare computers available in the company. Agents are the people who process the tasks (via the work items). For example, requisitioner and a member of the purchasing department. Container is the place where all the data used in the workflow is collected. Binding is the set of rules that define which data is passed to which part of the process.

Building a simple workflow application
The central tool for creating, displaying and processing a workflow is the workflow builder (Transaction SWDD). Within the workflow builder you can create all components of a workflow, including all the containers you need for getting the data from one step to another. Generally, most of the workflows are started by an event (for example, when a material is created or when a new purchase requisition arrives). You define which data from this event needs to be passed to the workflow via binding. However you can also start any workflow directly. Let us create a simple workflow and start the workflow directly, using the testing tools. Call transaction SWDD. When the workflow builder is called for the first time, a newly created initial workflow definition appears or else last created workflow appears. In such cases you can opt to create a

new workflow by pressing “Create New Workflow”(ctrl + shft + F5). The following screen appears.

The initial workflow screen has the following parts:

a. The start of the workflow definition, indicated by b. The end of the workflow definition, indicated by



c. The area in which you insert the new workflow definition is indicated by


Now select the undefined step and select Create step or double click the undefined step. Now among the different steps chose the User Decision by double clicking on it.

Now enter the title for the user decision “ Please make a decision”. Also enter the decision texts as Approve and Reject. On pressing enter, the outcome values default to the Decision texts but you can specify your own names, if desired. Now we need to select the agent. Agent is the person to whom the work item needs to be sent.. Since this is just a beginning, we would hardcode the user name. Select the User from the drop down list and enter the user name to whom the work item needs to be sent. In general, this type of agent assignment is not done. Agents are generally assigned using the expression, agent assignment rule or organization object (job, position etc.).

Now select Transfer and to graphic button. Following screen appears: .

. Select Create. Now select the line “Approve” and do a right click.Now we need to include a mail step to be sent to the requestor. Different options on shown on the context menu.

.Now select the step “Send Mail” from the list. Now enter the subject and the body of the message for the mail to be sent.

Enter the same and press enter. &_WF_INITIATOR& contains the value who executed the workflow. Our mail is intended for the persons who triggered this workflow. Now select Transfer and to graphic button.Do not change the recipients. Now enter the package as local object and press enter. We would discuss about this in the coming documents. Since this is a test object. Follow the steps 5 through 9 for the step “Reject”. A popup appears requesting for the abbreviation and the name for this task. But we wouldn’t be using this variable in real time scenarios. we are using &_WF_INITIATOR&. The following screen appears: .

. You need to enter an abbreviation and name for your workflow as shown below. as shown below. Test the workflow by choosing Test. After saving. To execute the workflow. a number is assigned to your workflow starting with WS. You can change any of these at any later point. activate it by choosing the activate button.Press SAVE to save the workflow application. The following screen appears.

Now the recipient would receive a work item in his SAP® inbox (Transaction SBWP). .Now choose Execute to start the workflow.

The following screen appears: .Now execute the work item by pressing “Execute”.

Now a mail would be sent to the requestor with the status of his request.Choose one among Approve or Reject as part of the user decision. . Now suppose that the recipient has chosen one of the first options. He can select the third option to retain the work item in his inbox and make the decision later.

the description available in the work item is a default one provided by SAP. In case we need to add our own text. the work item would appear as follows: As marked in green in the above screenshot. In the step “User Decision”. do the following: 1. click here) and provide with our own options like approve or reject.Including custom text in the step "User Decision" Whenever we create a step “User Decision” (For creation of User Decision step. Identify the task being used in the step “User Decision”. click on the tab “Control”: .

Go to transaction PFTC_COP to copy the standard task. . the standard task that is being used is “TS00008267”. the standard task that is being used is displayed. In this case. Select “Standard task” in the task type and enter the task number (without the prefix “TS”) in the “Task”.In the tab “Control”. 2.

3. 9. The change would reflect in all the workflow definitions the task is being used. you can use the transaction PFTC. Click on “User decision” and then click on the tab “Control”. Do the agent assignment and generate the same. 5. Here replace the standard task number with the custom task created above. transaction SWDD. A new task would be created. Please note the task number that is created now.Click on “Copy task”. Enter the abbreviation and the name as required. Click on “Copy Task”. To change the task description. Enter the package name as required. 10. . 4. 7. Now go back to workflow definition. 8. 6. It is always advisable not to change any of the standard texts.

Creating a Container element This document details about creation of a container element in workflow and using it in the step "Mail". 2. Create a workflow definition using the transaction SWDD. If not. Pre-requisites: It is assumed that the reader of this Tutorial is aware of creating a workflow definition with the step “Mail”. by clicking here. Let’s create a container element for Carrier id. Click on the “Workflow Container” on the left side of the screen (as shown in the screenshot below): . Steps: 1. please go through the document on creating the same available.

. Enter the details pertaining to CARRID here.3. Now double-click on “Double-Click to Create” 4.

.5. Click on tab “Properties” and select “Import”.

Click on “Confirm (Enter)”. Create a “Mail” step by double-clicking on “Undefined” step in the workflow. below the “Workflow Container”. . Now the element created could be seen on the left side.6. 7. 1.

In the subject line. Enter the recipient details in the “Recipients” box. enter “Carrid value entered is:” and click on “Insert Expression”.2. 3. .

6. . Testing the Workflow application: 7.4. Similarly enter the content in the “Body” area. Select the element “Carrid” from the list. 5. Test the workflow by clicking F8. Save and activate the application.

8. A mail would be sent to the recipient mentioned earlier with the carrid value entered. 9. Enter the value of the Carrid as shown above and press execute. .

we have used an ECC 6. Select the step “Configure RFC destination” and click on F9.SAP Workflow Customization Settings (How to do) This document details the basic workflow customization that needs to be done in any SAP system before activating the workflow definitions. Configure RFC Destination This can be done automatically or manually. The advantage of executing the above step manually is we can maintain another user and password as required. Also the user WF-BATCH is also created if not already available. XXX is the client number. If you happen to get the following popup. click on Yes.0 IDES system> The description or the help for each of the above steps are available on the right side of the screen. . Go to transaction SWU3. as mentioned on the right side frame. If done automatically. the logical RFC destination WORKFLOW_LOCAL_XXX is created (if not available). <For this demo.

some user is maintained as workflow administrator. Select “Maintain Workflow System Administrator” and click on F8. . You can change this to the desired User using this step. you can see the Green Tick mark beside “Configure RFC Destination” (as shown in the screenshot below) Maintain Workflow System Administrator Since the system being used for this demo is an IDES system.Once the RFC destination.

. Navigate to tab “Defaults”. Go to SWU1 and enter WF-BATCH. and “Maintain Time Units” are already in Green.Now you can change the Userid to the desired one. There are chances that you might encounter the following error: To resolve this. select the corresponding step and click on F9. The automatic configuration would be done. you need to maintain the default printer in your user profile of WF-BATCH or change the printer to a valid one. The steps “Maintain Active Plan Version”. If not in Green. “Classify Decision Task as General”. “Document Generation/Form Integration”. Schedule Background Job for Missed Deadlines This is the job which checks if any work item has Select this step and click on F8.

Also the check box “Output immediately” is marked ‘X’. . the output device is maintained as LP01 which is not valid.In the above screenshot. Here I am modifying the same to LOCL.

You would get the following screen: .Save your entries. Click on F8. Now let us go back to transaction SWU3 and the step “Schedule Background Job for Missed Deadlines”.

However 3 minutes is the minimum duration the system accepts. See the screenshot below: Now we can observe the green tick mark beside “Maintain Runtime Environment”. we can change the interval to the desired level. Click on “Save and Schedule”. For the step “Schedule Background job for Event Queue”. You would get the prompt for the customization request. .Depending on the business requirements. click on F9 (Automatic execution). Now similarly schedule the jobs – “Work items with errors” and “Condition evaluation”.

. The prefix number is used for the first 3 digits and the rest five is automatically assigned by the system (starting with 00001).Now let’s move to “Maintain Definition Environment” Maintain Prefix Numbers All the objects related to workflow (standard task. workflow tasks and others) are assigned a eight digit number. Select “Maintain Prefix Numbers” and click on F8.

Click on Display<->Change. Click on create. .

Enter a prefix number which is not allocated to any other client in the system. Now you can observe the green tick mark beside “Maintain prefix numbers”. . Save your entries.

com/Tips/Workflow/Customization/HRTables.htm. . After completion of the above step. the next step “Check Entries from HR Control Tables” is not mandatory.saptechnical. please visit http://www. we can now observe that the steps regarding “Maintain Runtime Environment” and “Maintain Definition Environment” are in green now.If you do not intend to work with HCM related workflows. To maintain this step.

Now to test the workflow configuration. the above configuration should be fine to work with the workflows in SAP R/3. click on “Start verification Workflow (F5)”.Unless you plan to use the Guided Procedures. We would get the following popup message: Now go to your SAP Inbox to check the work item (Transaction SBWP) .

We can choose one of the two options to test the workflow configuration. Let us chose the first one. .Execute the work item. You would now receive two emails in your SAP inbox: This completes the workflow configuration.

Useful Transactions in SAP Workflow Transaction Code OOAW PFAC_CHG PFAC_DEL PFAC_DIS PFAC_INS PFOM PFOS PFSO PFTC_CHG PFTC_COP PFTC_DEL PFTC_DIS PFTC_INS PPOCW PPOMW PPOSW SWDA SWDD SWDS SWDD_CONFIG SBWP SWDC_DEFINITION SWDC_RUNTIME SWNCONFIG SWDM SWEINST SWEINSTVC SWE2 SWE3 SWE4 SWEL RSWELOGD SWEC SWED SWEQADM_1 SWEQBROWSER SWETYPV SWI1 SWI2_FREQ SWI2_DEAD SWI2_DURA SWI11 Description Evaluation paths Change roles Delete roles Display roles Create roles Maintain assignment to SAP organizational objects Display assignment to SAP organizational objects Organizational environment of a user Change tasks Copy tasks Delete tasks Display tasks Create tasks Create organizational plan Maintain organizational plan Display organizational plan Workflow Builder (Calls the Workflow Builder in alphanumeric mode) Workflow Builder Workflow Builder (Selection) Workflow configuration The Business Workplace Workflow Builder administration data Workflow runtime administration data Extended notifications for business workflow Business Workflow Explorer Evaluation and maintenance of instance linkages Evaluation and maintenance of instance linkages Evaluation and maintenance of type linkages Evaluation and maintenance of instance linkages Switch event trace on/off Display event trace Delete event trace Link change documents to events Assign change document objects to object types Event queue administration Administration of event queue browser Evaluation and maintenance of type linkages Selection report for work items Work items per task Work items with monitored deadlines Work items by processing duration Tasks in workflows .

SWI13 SWI5 SWL1 SWLV SWFVISU SWO1 SWO6 SWR_WEBSERVER SWU_CONT_PERSISTENC E SWU_EWCD SWU_EWLIS SWU_BTE SWU0 SWU2 SWU3 SWU4 SWU5 SWU6 SWU7 SWU8 SWU9 SWU10 Task profile Workload analysis Settings for dynamic columns Maintain work item views Parameters for Work Item Visualization in the UWL Business Object Builder Customizing object types Customizing Web server Administration of container persistence Wizard for event creation using change documents Wizard for event creation using the Logistics Information System Wizard for event creation using Business Transaction Events Event simulation RFC monitor Automatic Workflow Customizing Consistency check for standard tasks Consistency check for customer tasks Consistency check for workflow tasks Consistency check for workflow templates Switch workflow trace on/off Display workflow trace Delete workflow trace SWUD SWUE SWUI SWUS SWXML SWUY SWWCOND_INSERT SWWCLEAR_INSERT RSWWCOND RSWWCLEAR WF_HANDCUST WF_EXTSRV WFWS Diagnostic tools Trigger event Start workflows/tasks Testing workflows/tasks Display XML documents Wizard for linking messages to workflows Schedule background job for work item deadline monitoring Schedule background job for clearing tasks Execute single background job for work item deadline monitoring Execute work item clearing work once WebFlow service handler maintenance Maintain Web Service Repository Import WSDL files .