How to make Reportable Offer Approval fields non-edit able by Originator
In this blog, I would like to address and help to solve a common problem of “not being able to control editability of offer approval fields (when they are reportable) by originator / initiator” that every SAP SuccessFactors Recruiting Management Customer and Consultant has to adapt to.
Current Product Behaviour:
As of H1 2020 release, the framework of offer approval template is such that you can not control the editability of fields defined in any of the below ways:
- If you have used any standard field on offer approval template (which is editable in nature by default).
- If you have defined and map a custom field from requisition or application. Which is also made reportable by partner / SAP.
You may please refer to this SAP KBA (Ref 1.1) for reference and more details.
Why is it a problem?
A lot of customer while designing the offer detail template needs to define and map fields from job requisition and application templates. For example, Location and Candidate First Name or Preferred Location (a custom field) from requisition and application respectively.
Also, considering custom fields made reportable. Makes them editable in the offer approval when initiated by Recruiter / HR Manager.
Possibility to make such fields read only is not feasible as per the standard framework of the system. Therefore, leaving behind room for Recruiter to accidentally change such values while preparing to send for approval.
Approach to Solve Problem:
Solution Type: Standard Product Framework (using workaround)
Who can setup: Partner Consultant / SAP / Customer Administrator
How to setup: You can solve this problem by use of simple Rules in Recruiting for Offer Approval. Here’s how to setup:
1. Considering fields pulled from application that appears editable:
This can also be a field from requisition like Location or any other custom reportable field
2. As can be seen below, the field is editable by originator:
3. Setup a business rule to reset the value to it’s original source value:
For more details on How to setup Rules in Recruiting, refer the below sources:
- Kick start with basics of Business Rules (Ref 1.3)
- How to enable Rules in Recruiting (Ref 1.1)
- Refer Recruiting Guide for how to Setup Setup Rules in Recruiting (Ref 1.3)
Step 1: Search and select “Configure Business Rules”:
Step 2: Create a new business rule:
Step 3: Create a rule of Basic scenario type with below details:
Step 4: Click Continue and follow the below setup:
Adding condition to check if current offer approval value is not equal to value on application
Set the offer values to the original values from application in case not equal:
Save the rule.
Step 5: Now go to “Manage Rules in Recruiting” and switch to “Offer Detail” tab.
Step 6: Select your Offer Approval / Detail template and assign the rules under “Field Change Rule” section as shown below:
Save the updates.
* Follow the similar approach for other such fields from requisition or application.
Let’s Run Some Tests:
Now that we have setup the solution, we can go back to our offer approval screen and try editing the fields we are controlling:
Yes. Fields are still editable. But, magic happens when you move ahead…
Life is good again !
Considering the current standard framework of Recruiting Offer Approval / Detail template, standard / custom reportable requisition and application field editability can not be controlled to preserve the original values through Role permissions. Therefore, the workaround is to setup the rules to reset the value to the original requisition / application value by means of Offer Approval Rules on field change event.
Moreover, as i showed above, the whole setup can also be done / maintained by Customer Administrators as well.
1.1. KBA from SAP Launchpad
1.2 Screenshots from SAP SF sales demo system
1.3 SAP Documentation from https://help.sap.com/
Thanks very much for this helpful article!
This helped me to overcome some annoying aspects of the offer approval template and it's non-existing options to set user permissions!