Human Capital Management Blogs by SAP
Get insider info on SAP SuccessFactors HCM suite for core HR and payroll, time and attendance, talent management, employee experience management, and more in this SAP blog.
cancel
Showing results for 
Search instead for 
Did you mean: 
SoraiaLatif
Product and Topic Expert
Product and Topic Expert
1,807

Hello everyone,

In this blog, I am covering a customer requirement that is usually defined by company policy - employees can go negative up to their annual holiday entitlement level, which is based on seniority.

Let’s take an example:

  • Employee A is entitled to 25 days per year, which means their balance can go up to -25 days
  • Employee B is entitled to 26 days per year, which means their balance can go up to -26 days

Procedure:

First, we need to store the negative balance in the lookup table. In our case, the amount is the same as the accrual value (for this reason I’ll be using the same field – if both values are different then you need to store them in the lookup table)

After adjusting the lookup table, we are able to create the business rule (take rule) - below is an example of a possible solution:

Image from demoImage from demo

 

 

Let’s break down the logic of this business rule:

  • balanceAsOf31Dec – I am using the function Calculate Balance for Types() in order to get the balance as of 31 Dec of the year that the employee is requesting the annual leave. This variable will be used to check if the employee has reached the limit (or not) when requesting a leave.
  • seniorityAmount – I am querying the seniority look-up table to get the accrual amount based on the seniority of my employee.
  • IF CONDITION – Since this is a create operation, we need to remove from the current balance the number of days that the employee is trying to request (they are not yet saved in the database hence they are not considered in the function Calculate Balance for Types()). Then we need to check if the amount is less than the negative balance (it could be -25 days or -26 days depending on the seniority level).
  • THEN STATEMENT – raise an error message.

In this example I am just covering the create operation, however, the edit option should also be considered.

Please note that the setting balance negative allowed should have the higher seniority amount (in this case is 26 days).

For time type, time account type, and accrual rules creation please refer to the implementation guide.

Before adopting the solution please evaluate the pros and cons with your customer. Looking forward to your comments and seeing your use cases/experiences on this topic.

Thank you,

Soraia