Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
ch_loos
Product and Topic Expert
Product and Topic Expert
3,275

Introduction


SAP Cloud Platform Workflow (part of SAP Cloud Platform Workflow Management) now supports automatic task delegation, based on user-defined rules.

In this blog, I'll show how this works.

 

Pre-requisites


I assume you have already set up Workflow, the SAP Business Application Studio and a Fiori Launchpad site in your Cloud Foundry account on SAP Cloud Platform, and have some workflows with user tasks available.

If not, you can follow the tutorial here.


Enabling the substitution feature in My Inbox


As first step, we have to enable the substitution UI for the My Inbox tile in the Fiori Launchpad.

For this, open the project which contains the Fiori Launchpad module in SAP Business Application Studio, which contains the My Inbox tile description.

Note: You can also import the project from Github. It already has all the necessary changes, so afterr build and deployment you can directly jump to the next section (Create Substitution Rule).


 

Under the portal-site/business-apps folder, create a new file called "inbox.json" with the following content:


{
"_version":"3.0",
"identification":{
"id":"cross.fnd.fiori.inbox",
"entityType":"businessapp"
},
"payload":{
"visualizations":{
"WorkflowTask-MyInboxWithSubstitution":{
"vizType":"sap.ushell.DynamicAppLauncher",
"vizConfig":{
"sap.app":{
"title":"My Inbox",
"description":"Manage my tasks",
"tags":{


}
},
"sap.flp":{
"target":{
"inboundId":"WorkflowTask-DisplayMyInbox",
"parameters":{
"substitution":{
"value":{
"value":"true",
"format":"plain"
}
},
"userSearch":{
"value":{
"value":"false",
"format":"plain"
}
}
}
}
}
}
}
}
}
}



 

Now, open the CommonDataModel.json in the portal-site folder in the Code editor, and search for the My Inbox tile definition ("cross.fnd.fiori.inbox").

Replace the value of "vizId" attribute with the id used in the inbox.json above: "WorkflowTask-MyInboxWithSubstitution". Make sure to leave the rest of the code as is.

				"viz": [{
"id": "cross.fnd.fiori.inbox-0-1568986171400",
"appId": "cross.fnd.fiori.inbox",
"vizId": "WorkflowTask-MyInboxWithSubstitution"
}, {


 

As final step, build and deploy the MTA project.

 

Create substitution rule


Open the Fiori Launchpad URL. You can find it by navigating from the sub-account in your Cloud Cockpit: Cloud Foundry -> Spaces -> [your space] ->  WorkflowManagementFLP_appRouter -> Application Routes

 

From the home page, open the My Inbox tile. Make sure you have some tasks assigned to your user.

 


 

While in the My Inbox app, open the user menu from the Fiori Shell (top right corner), and select "Manage My Substitutes".

There are two different types of substitution rules: Planned and Unplanned.

  • Planned substitution is set for a specific time span between two dates (start and end). During this time span, tasks are automatically available to the substitute.
    Use this for planned absences.

  • Unplanned substitution is for unplanned absences, e.g. sick leave. Here, you do not select a start and end date. The substitute can activate and deactivate the substitution at any time to start taking over tasks. This is done via the "Substitute For" entry in the user menu above.


Let's create a new planned substitution rule.
Switch to the "Planned" tab, and click on the "Add New Substitute" button in the lower right corner.


 

Enter the user ID (e.g. email address) of the user who shall be the substitute, and define a time period by just selecting a start and end date.

After saving, the rule should now be visible in the list:


If you set the start date to today, the rule becomes immediately active. Otherwise, it will show as inactive, and only get activated on the start date.

The substitute user should now see the tasks of the user who created the rule.

 

More information


There are a few important things to note about the substitution functionality:

  1. Substitution rules only work for tasks, which have been assigned to individual users.
    For tasks, which have been assigned to groups, substitution is not possible.
    In this case, you can simply add additional users to the group.

  2. Substitution only works one level deep (i.e. rules are not transitive). Let's say user B substitutes user A, and user C substitutes user B (A -> B -> C).
    B will see the tasks of A, but C will only see tasks of B.

  3. Substitution rule events are logged in the Audit Log, which can be accessed by account administrators.

  4. Substitution is only available in the Cloud Foundry environment, not in the Neo environment.


 

You can find further information also in the documentation.

 

 

 
18 Comments