EP: UWL – Can You Lock/Reserve Workitems?
If you are familiar with the Universal Worklist from an end-users perspective you will know that the UWL itself serves as a centralized task management platform for a wide array of processes.The purpose of such task types or work-items varies surrounding business operations and can include sales orders, travel requests, leave requests or tracking setups. The management of such tasks is of vital importance as you can imagine due to the association they share to an organizations business operations and general practices.
The Universal Worklist (UWL) gives users unified and centralized way to access their work and the relevant information in the portal. It collects tasks and notifications from multiple provider systems – SAPBusiness Workflow, Collaboration Task, Alert Framework and Knowledge Management Recent Notifications – in one list for one-stop access.
Workitems & Inbox
The UWL follows two primary pull operations as its baseline means of functionality. When an end-users firstly opens the UWL tasks are pulled from the backend systems (across connectors) into the UWL Cache. A second pull operation then takes place and the workitems/tasks are pulled from the cache into the UWL Interface.
The update/removal of a processed task in the UWL depends upon what kind of task it is. Some task processing screens are more integrated with the UWL and include refresh triggers.
How Do I Lock Workitems?
Let us take a sample scenario in which you have the Business Workplace aligned in association to the Universal Worklist.
- You start standard SAP verification wokflow and navigate to your inbox
- Upon selecting the item you note the status of “Ready”
- Login to the Portal from desktop and open the Universal Worklist.
- Select the work item (First step in Workflow Verification)
- Here you notice that he status should be changed from “Ready” to “In Process”.
- As the workitem has been selected by a User you believe the item status should subsequently change also.
When a task is executed in the UWL, this execution runs out of the UWL context. The UWL is not aware of the result of the work item execution.
This means that the UWL does not know, whether the task is completed after the execution. So the task is not removed from the task list in the UWL after it has been completed. It only disappears from the task list after the user uses the Refresh function that retrieves the inbox of the logged on user from the back end.
- This is the standardized behavior of the UWL itself.
“New & In Progress” tasks along with “In Process” and “Completed” workitems are loaded each time the UWL is refreshed so if there is for example 5000 workitems divided up (New/Completed/InProcess) these will all have to be loaded in hence the importance of keeping an eye on the cache.
In truth the UWL Cache should be cleared when an item, which commonly involves a Web Dynpro UI screen, has been changed (this includes status changes) or customized and the changes are not reflected.
As you know the UWL is designed to retrieve and display work items, notifications and alerts from multiple backend system within a single list. UWL uses “pull” method for retrieving items. Thus at every refresh manual or after a time out, UWL will connect to all configured backend system and pulls the list.
But the Workitem is not locked..
The reponsibility to reserve a task lies with the Provider (Workflow) and for each workflow there is a different behavior assoication to the Reserve Action.
Further insight on this setup is discussed and highlighted within the following two documentation notes:
- SAP Note: 1314767: Behaviour of Workitems launched from UWL
- SAP Note: 1331372: Locking of Workitems from the UWL
To reference SAP Note: 1314767 Behaviour of Workitems launched from UWL we can see the “Reservation Lock” function is not the responsibility of the Universal Worklist Application.
- The central UWL Basis team does not reserve a workitem once a user launches it for processing. Hence, this is currently handled by the application. Automatic Reservation in itself is not UWL Functionality.
"The central UWL Basis team does not reserve a workitem once a user launches it for processing. Hence, this is currently handled by the application. Automatic Reservation in itself is not UWL Functionality".
Why is that not the responsibility of the UWL? I would expect that the UWL would have the same behavior as the workflow inbox. I.e. once the work item is executed/launched it is in the reserve/process status, when it is selected/marked w/o launching it, it is in READY status. The UWL is just a different presentation of the inbox tool (presentation layer). As such, launching a work item should result in a status change of the task in the backend system, e.g. ECC. It seems that the UWL is behaving exactly the opposite.