Technical Articles
Automate Mass Compensation related changes with Integration Center
Hello SAP community,
Tired of imports/changes/exports?
Unable to mass update current & future (specific) pay components with X% and maybe some extra logic in a more automated fashion?
Do you want to mass change pay scale levels within a Compensation Cycle based on performance cycle outcomes?
And/or are there employees that do not have the right manager in the system right now?
Then seek no further, because I’ll take you through the possible solutions shortly with integration center.
Note!
This blog assumes basic knowledge of Integration Center, for which (back at my prior employer) I’ve written this blog :https://blogs.sap.com/2020/04/14/create-your-first-integration-with-successfactors-integration-center-full-step-by-step-guide/comment-page-1/#comments#comment-637836
After some time and moving to McCoy & Partners, it’s now time to help you find some advanced use cases for it that drastically increase accuracy and capabilities within SuccessFactors. I will be taking you through 3 use cases where you can mass update/create data:
1. Fixed (CLA) Increase % per DATE and future data records
2. Create/Process New Pay Scale Levels based on PM cycle of employees with fixed salaries
3. Automatically assign employees to (newly hired) manager
Use Case 1:
Fixed (CLA – in the Netherlands: CAO) % Increase per DATE and future dated records
– Prerequisite general: please ensure you don’t have existing records with errors and/or impactful
onSave business rules turned on during the processing that could block this process.
– Prerequisite when Min/Max of pay ranges need to be respected: Ensure you have the field Pay
Range in Comp Info and that the employees has this data.
Integration Center selections based on Scenario
In both situations you basically aim to (also specifically in this order):
I. Create a Compensation Record (to ensure it’s present) per DATE.
II. Update existing pay components per a specific DATE + future dated records
(III. Note! Business Rules (BR) can still perform extra actions based on the integration center data if needed, if you for instance need to adjust salary based on min/max or if you need to use a fixed salary for pay scale levels that can all be used via BR. It could be the case that you need to turn some onsave rules off for the purpose of this exercise).
– Schedule/Save (at least do this)/Run
Example details can be found in the prior mentioned blog (steps 8 and 9)
– Schedule/Save (at least do this)/Run
Example details can be found in the prior mentioned blog (steps 8 and 9)
2bII. >1000 records (processing)
– Make sure that you’ve completed all steps of 2bI and that you’ve ran the integration &
login to the SFTP server, go to the FEED folder and observe & download the file
(hint! If you have exceptions, this is great because you can still download + adjust + re-upload)
– Schedule/Save (at least do this)/Run
Example details can be found in the prior mentioned blog (steps 8 and 9)
– Go to the Configure fields Tab and select the second icon on the right hand side.
– Apply the right filtering, i.e. Employee Status (I recommend the external code) = Active (A),
Only for the SALARY and ALLOWANCE (in the Netherlands common for extra salary,
personal allowance, shift allowance etc.) pay component , but records that
are active as of 1 April or later (Time Based Filter).
– Schedule/Save (at least do this)/Run
Example details can be found in the prior mentioned blog (steps 8 and 9)
* Add the percentage increase (i.e. 4%) directly to the pay component amount
(Note! You can also use IF THEN ELSE if you have up to 4 scenarios!)
* add a field that indicates the flat increase (i.e. 4%):
* Assuming different % increase per pay scale type, use a look-up table to get the %
– Apply the right filtering, i.e. Employee Status (I recommend the external code) = Active (A),
Only for the SALARY and ALLOWANCE (in the Netherlands common for extra salary,
personal allowance, shift allowance etc.) pay component , but records that
are active as of 1 April or later (Time Based Filter).
(note! SHOULD have file extension: csv)
– On the left hand side, swap to the 2nd icon (detailed view) and make changes if needed
– Schedule/Save (at least do this)/Run
Example details can be found in the prior mentioned blog (steps 8 and 9)
3. When taking the actions above, you could also ensure SuccessFactors performs extra checks
(i.e. based on min/max pay ranges) to correct the new salary. An example below reflects one of the things you could do if you need to consider those (i.e. put SALARY to the minimum if it falls below that). The same could be done for instance based on the maximum (variable visible in the picture below too).
Use Case 2:
Create/Process New Pay Scale Levels based on PM cycle of employees with fixed salaries
Prerequisites:
– Need to ensure your Compensation Worksheet calculates the new pay scale level based on for instance the Performance Rating
– Need an MDF object to store the new data based on the compensation cycle
– Need to have the minimum mandatory fields in your compensation worksheet to fill your job info
(i.e. Pay Scale Group, new code of pay scale level, user-id etc.)
– Job Info needs to be error free (especially for customers with many employees this can be challenging)
– Need to turn on/off onSave business rules temporarily for final integration center processing
Some companies wish to go through a compensation cycle with their CLA population (often those with pay scale levels and fixed salaries), but may have a lot of logic to determine the amount of pay scale levels that an employee can get (i.e. bad performance = no new pay scale level, very good performance = increase of 2 steps, manual correction of the pay scale level to use, etc.).
more details on the MDF object setup can be found in this blog:
https://blogs.sap.com/2020/07/13/compensation-planning-simplified-with-mdf-integration
2. Ensure you have the right fields and calculations setup to get to the next pay scale level within
your Compensation Worksheet.
Example:
– Uses various default fields
– Uses some custom fields (i.e. user id, pay scale group and pay scale level) – Marked: Yellow
– The standard & custom fields are used to apply a guideline & default value to: merit field.
(in this case a movement to 0.5 pay scale level up = 1% increase and full = 2% increase)
– In the custom (pink area) fields for the steps to increase the Merit increase could be halved
to get to the number of steps & these are then added to the custom pay scale level to
calculate the new Pay Scale Level).
Note! If your pay scale level is not numeric, you may need to get the according one with a lookup instead.
3. Ensure you configure the publishing to the MDF object (+ complete the comp cycle & publish)
This is explained in more detail in this blog: https://blogs.sap.com/2021/10/25/extending-compensation-planning-publish-to-metadata-framework-a-step-towards-integrated-suite/
– Filters may not be required, but it could make sense to filter for active employees (t) per a
specific effective date (i.e. 1 April) in the Filter and Sort Tab:
(note! SHOULD have file extension: csv)
(You may notice I haven’t mapped sequence, I did that deliberately as SF generates it for me now).
– Schedule/Save (at least do this)/Run
Example details can be found in the prior mentioned blog (steps 8 and 9)
Use Case 3:
Automatically assign employees to (newly hired) manager
Prerequisites:
– Need to have position management in place
– Ideally you don’t have multiple managers on one position
– the manager on the parent position is always the manager of the employee on the position
– Job Info needs to be error free (especially for customers with many employees this can be
challenging)
– Need to turn on/off onSave business rules temporarily for final integration center processing
– Make sure you have the standard canvas report: “Disparities between Reporting Line and Position” report in your instance (or an equivalent) & that you’ve ran it to identify the mismatches
This is not directly compensation related, but as the compensation module relies a lot on correct manager – employee relationships, this can be crucial. It happens often that a manager leaves the company and that the employees are then temporarily assigned to another manager. When the new manager gets in place, there often isn’t an easy way to mass assign the employees back, until now if I’ll use Integration Center correctly!
– Identify the users where the manager deviates from the one of the parent position.
* Example Manager of Parent Position
(In this case I’ve added just 1 manager user ID, but you can also use a lookup table based on the user ID field to update the manager)
– Schedule/Save (at least do this)/Run
Example details can be found in the prior mentioned blog (steps 8 and 9)
Conclusion
I hope based on this blog I’ve helped you understand how Integration Center may support you with automating (and reducing errors) by taking you through the setup of the following 3 Use Cases:
1. Fixed (CLA) Increase % per DATE and future data records
2. Create/Process New Pay Scale Levels based on PM cycle of employees with fixed salaries
3. Automatically assign employees to (newly hired) manager
With the 1st use case you could already see that there are multiple ways to approach the requirements (you could for instance also use an MDF object in which you maintain the % increase and then apply the value for that year/other attribute as part of a look-up in a business rule), hence if there is feedback or if there are further questions or remarks, please don’t hesitate to let me know by replying below (you can also do that in German or Dutch if you like).
For other questions and answers, you can of course also post and answer questions (https://answers.sap.com/tags/73555000100800000773), and read other posts on the topic (https://blogs.sap.com/tags/73555000100800000773/).
Kind regards,
Jasper