Problem Statement:
The client requires a yearly cap to be implemented for the One-Time Pay Component, ensuring that the total amount per calendar year does not exceed $6,000 and each occurrence does not exceed $1,500. This cap may vary depending on the country.
There is no standard way to handle it in SAP SuccessFactors. We can put validation on each occurrence of Pay Component amount but not on yearly cap. I developed a custom solution using custom MDF object and CPI iFlow to meet the requirement.
How this requirement can be achieved:
This requirement can be achieved in 4 steps.
Create a Custom MDF Object to Store Yearly Cap per Country:
Create a CPI iFlow:
Create a Custom MDF Object for Sum of Approved Non-Recurring Pay Component Amounts for an employee:
Create a Business Rule to Validate Yearly Cap:
Create a custom MDF object to store yearly cap per country: Yearly cap can be different for different countries hence a custom MDF object is created to store yearly cap for countries.
Custom MDF Object should be created using “Configure Object Definition”.
Create a custom MDF object to store yearly cap per country:
Sample entry where Maximum Limit Per Instance for Impulsive Pay refers each time, one-time payment amount cannot be more than this for USA employees.
Maximum Limit Per Calendar Year for Impulsive Pay refers yearly cap for one-time payment amount.
Create a custom MDF object to store sum of approved Pay Component Amount in a calendar Year for employees:
Sample entry where field details are as given below:
Key: It is unique combination USERID_Year (to distinguish between each calendar year cumulation entry for the employee)
Employee: User ID of employee
Pay Component: Pay Component
Calendar Year: Calendar Year
Count of Impulsive Pay in a Calendar Year: Number of instances, the pay component is paid in a calendar year to the employee
Sum of Impulsive Pay Amounts in a Calendar Year: Sum of the pay component amount paid in a calendar year to the employee
Non Recurring Pay Component (One Time Payments) Portlet entry for an employee
There is a CPI iFlow to map value from Non Recurring Pay Component (One Time Payments) Portlet to Custom MDF Object Impulsive Pay Cumulation. Job is scheduled to run on daily basis to update custom MDF entries (Frequency can be changed based upon client requirement).
Note : In place of CPI iFlow, I created Integration centre job to update Custom MDF Object Impulsive Pay Cumulation but certain scenarios are not working on IC job (cumulation was not correct for back dated entries).
There are business rules to validate per instance pay component limit and yearly cap for pay component.
Per Instance Limit validation Rule
Yearly Cap Validation Business Rule
Conclusion
Thank you for reading this blog. It is my first blog, your feedback, questions, and suggestions are always welcome. We’d love to hear about your experiences, custom requirements, or any insights you have, so please feel free to share them in the comments section below. Happy Learning 😊
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 21 | |
| 17 | |
| 11 | |
| 10 | |
| 9 | |
| 7 | |
| 7 | |
| 7 | |
| 6 | |
| 6 |