We have responded to the previous year 2020 in a spectacular fashion, rapidly adapting to substantial changes ranging from client workshops moving to virtual mode, office coffee breakouts turning into digital coffee breaks and much more...
And most important, we have aced the art of working in the new normal without impacting our deliverables!
This is my first blog post for the year 2021 on the topic “Auto Delegation – Selection of delegate”
Disclaimer: All the images are captured from the sales demo instance!
Delegating workflows is a very common requirement for most of the customers across regions, in specific the auto delegations when compared to manual delegation.
Pain area:
As we all know, as part of 1H 2020 release of SAP SuccessFactors, we have new fields/features added to “Auto delegation” such as start date, end date etc.
However, there are cases where customers would like to choose only the selected users as delegates, but not just anyone who is active in the organization, which is the case as of now.
In SAP SuccessFactors Employee Central workflows, we currently support turning on the delegation and select the start date and end date, but selecting the preferred delegates, say from the same location or department as of delegators is something which is not yet supported. I am demonstrating a proof-of-concept service where this requirement can be achieved.
We would be needing the following tools in SAP SuccessFactors.
- Custom MDF (Meta data framework)
- Delegator (for whom you need delegation)
- Start Date (Date when you want to start delegation)
- End Date (Date when you want to end the delegation)
- Delegatee (to whom you want to delegate the workflow)
- Delegation Status (whether it is on or off)
- Integration Center
- Auto Delegation – This picks up the custom MDF records and map the fields to standard Delegation related MDF objects “Auto Delegate Config” & “Auto Delegate Details” along with appropriate filter
The Integration center job must be set real time and to be run daily.
CONFIGURATION STEPS
Custom MDF:
The Custom MDF has to be created and used to store the user preferences like when to start Auto delegation, when to stop the same, who is the delegator and the delegate and finally what is the delegation status.
Custom MDF - Object definition
Grant the permissions for this custom MDF to ESS (Employee Self Service) role, so that all employees are able to select the right delegate within the same location and department.
Role Based Permission Settings
Create a message definition like below in Manage Data, to display error message on UI (User Interface) when delegator selecting the wrong delegate who is outside of his/her location and department
Message Definition
Write a business rule like below, to display the above error message and assign it “onChange” of delegatee field of the custom MDF created in previous step
Business Rule
Create an UI for the custom MDF, like below –
Configure UI
Assign the above UI to “Configure people profile”, so that delegators can create a record and select the appropriate delegate in their profile page.
Configure People Profile
Now, the delegators can see the portlet on their profile pages as below and select the right delegate along with start and end dates and delegation status.
People Profile - Portlet
Integration Center:
Create new Integration type -> Select Scheduled, source & target both as ‘SAP SuccessFactors’
Integration Center - Scheduling a Job
Select Starting entity as custom MDF and target MDFs as Auto Delegate Config and Auto Delegate Details.
Integration Center - Starting Entity and Destination Fields
Set purge type as “Full” and operation as “Upsert Multiple”
Go to field mapping view and map the fields from custom MDF to Auto Delegate config and Auto delegate Details MDF objects –
Integration Center - Mappings
Fields mapped:
- “User” from custom MDF to “delegator” of Auto Delegate Config MDF
- “Delegation Status” from custom MDF to delegationStatus of Auto Delegate Config MDF
- “End Date and Time” from custom MDF to endTime of Auto Delegate Config MDF
- “Start Date and Time” from custom MDF to startTime of Auto Delegate Config MDF
- Default “alwaysOn” to true
- Default “status” from Auto Delegate Details MDF to ON
- “Delegatee (cust_delegatee)” from custom MDF to “delegatee” of Auto Delegate Details MDF
Go to filer view and create a filter as shown below
Integration Center - Advanced Filter
This means, the integration must pick only those records whose end date is after today.
LET’s TEST
I have run a report to identify a set of test users who belong to same department and two different locations
Snapshot of Adhoc Report
From the above table, Charles Braun can only select his delegate as only Christine or Lauren (since they belong to same location and department), but not Aanya Singh as she belongs to a different location though from same department.
Proxy as Charles Braun and try to select Aanya Singh as delegate. As soon as the delegate is selected as Aanya Singh, we get the below error message –
Selection of wrong delegate and the corresponding error message
Now, select delegate as either Christine or Lauren and system allows to do so, as they both belong to same location and department. Select the start date, end date and Delegation status and “Save” the record.
Selection of right delegate with no error message
In Integration Center, once you run a test/preview, the record from people profile (Custom MDF) gets mapped to standard MDF objects related to Auto Delegation.
Integration Center - Preview
Now, click on “Auto Delegate” which appears under Quick Links by proxy as a delegator
Auto Delegate option under Quick Links
Here, with no manual intervention, all the details like Delegation status, start time, end time and finally the Delegatee are auto selected based on what has been filled by the delegator in his profile page.
Auto Delegate Screen
Once the End time is passed, as per the filter logic, the record won’t be synced to Integration center and the delegation status becomes “Off” automatically.
RECAP
Even though system allows delegators to select anyone from the organization as his/her delegate, with this workaround, we can allow delegators to choose only the selected users as delegates.
Thanks for taking your time in reading this blog and leave your comments, if any for further clarifications. Thank you!