SAP Knowledge Base Article - Public

2328948 - Time Off: How to recalculate leave balances when Holiday Calendar is updated

Symptom

Recalculation is not correcting the employee's leave balance if we add a new entry to the Holiday Calendar.

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.

Environment

SAP Successfactors Employee Central - Time Off

Reproducing the Issue

  • In this example scenario, employee applied leave from 15th May to 29th May so totally 11 days leave he/she applied as per work schedule. After that we added a new entry in Holiday Calendar i.e. is on 18th May as full holiday.
  • As the Holiday Calendar is added in the recalculation fields, we expect the 11 days leave applied should be changed to 10 days and 1 day should be added back to the user's leave balance.

Cause

This is an expected behaviour, and currently no automation exists to recalculate an employee's absences, where Holiday Calendar is updated. However, you can recalculate this data by following a manual process.

Note: If flexible requesting is enabled on the time type, no recalculation will occur even after creation on TMRE.

The implementation guide states: "Any recalculations of the time account calculation will not consider changes in the flexible requesting record."

If you disable flexible requesting the absence will be recalculated with the TMRE as expected.

Resolution

Changes to EC Time Off configuration, like adding new holidays to a Holiday Calendar, will not trigger the recalculation of leave requests and leave balances. This is a known limitation in EC Time Off, which will be addressed in a future release. Please follow the below steps.

  • You must configure an entry in "Time Management Configuration" in Manage Data UI. "Recalculation Enabled" should be set to "Yes".
  • Navigate to Manage Data -> Create New 'Time Management Recalculation Event' as below:

TimeManagementRecalculationEvent.jpg

  • Once the object is saved, the absences will be recalculated based on the holiday calendar selected

OR

  • Identifying all impacted employees:

The solution will require you to manually create Time Management Recalculation Events objects (TMREs) for all employees to whom this holiday calendar has been assigned. To identify which employees have the updated Holiday Calendar assigned, you can to run a Person and Employment (as of date) Ad Hoc report, and include the field "User/Employee ID" from the "Employee Information" column set, and also the "Holiday Calendar" field from the "Job Information" column set.

AdHocReportHolidayCal.jpg

Once you have a report with all of the User ID's that are assigned the changed Holiday Calendar, the next step is to create an Import file to create the TMRE object for each User ID.

 

  • Creating the Time Management Recalculation Events import file


 You can create the TMREs via MDF upload of a corresponding .csv file into GO Time Management Recalculation Event.

  1. To download the import template, navigate to Admin Center > Import and Export Data > select the "Download Template" action
  2. Then select the Generic Object "Time Management Recalculation Event" and also set the 3 options below to "No" then click "Download"

DownloadTemplate.jpg

Once the template is downloaded, open it, as well as the report you made in step 1.

Import File columns explained below -:

  • External Code = <Leave blank for Auto-Code or specify one manually>
  • Event Type = ABSENCE_RECALCULATE
  • Target Type = USER
  • Target ID = <User ID>
  • Date = <Date should be the date of the (earliest) holiday which has been added to the holiday calendar>
  • Status = TO_BE_PROCESSED

For the External Code, leave it blank and the system will generate the code automatically. Copy User ID's from your report, into the "targetId" column in the import template, and then fill in the other columns as per above description. Example -:

ImportFile1.jpg

 

  • Importing the Time Management Recalculation Events import file

Navigate to Admin Center > Import and Export Data > select "Import Data" and choose the "Time Management Recalculation Event" object, and import the file.

  • The imported TMREs will be picked up and processed by the Time Management Recalculation Job, which is running in the background every night.
  • This background job will recalculate the deduction quantities for all leave requests valid on or after the TMRE Date, and update the corresponding leave balances.
  • Thus, in the example given under "Reproducing the Issue", the deduction quantity for the leave request will be reduced from 11 to 10 days, and 1 day will be added back to the corresponding leave balance.

If after successful import, the leave balance is not recalculated, then please refer the KBA  2573591 - Time Management Recalculation Event Import Is Not Recalculating Holidays

Recalculation fails for 1 day leave applied on the new holiday (or you have made a change to the user's work schedule days and this is no longer a working day)with error 'Your requested time off must include at least one workday. Please change the dates you've entered accordingly':

Workaround:

  • For the employee with 1 day leave, go to the associated time type and set 'Requesting on Non-Working Days Allowed' as 'Yes'
  • Create the recalculation event as mentioned above and once it is triggered, check if the leave is recalculated
  • Change the 'Requesting on Non-Working Days Allowed' field in the time type back to 'No'
  • We have an open enhancement for this so that recalculation does not give error if absence exists on a day which becomes a holiday/non-working day later. Please track enhancement "TIM-31284"
  • NOTE: If the time off is clock time based, then recalculation will not work, the leave has to be canceled manually/via import. Enhancement ticket exists to support it in the future      'TIM-6003'

TMRE is successful, but absence is not recalculated:

  • If the related time account is closed, and the "Editable" flag on the employee time is set to No, the absence will not get recalculated. If this is the case, customer needs to reopen the 2022 account and mark the absence as Editable=yes, and then trigger a time management recalculation event again. See KBA 
  • Check if there are any errors in the 'Time Alerts' Tab under 'Employee Profile' > Time Off Section > Administer UI > Time Alerts.
    There shouldn't be any errors in the time alerts tab. If there are any errors, it needs to be fixed and then run the recalculate accruals under Time alerts Tab>Action>Recalculate Absence.

    • Also, check Admin Alerts in the Admin Alerts tool for any time recalculation related event and try to resolve it for other users as well
    • If the error is for another record and is not giving exact error, click on the alert or view details, and scroll to bottom to see and fix the original error.

NOTE: For further information on Recalculations, please refer to the Administration Guide "Recalculation in Time Management".

Keywords

Leave Recalculation, Holiday Calendar, Time Off, Employee Central, Time Management Configuration, TIM-31284, Your requested time off must include at least one workday. Please change the dates you've entered accordingly , KBA , recalculation , absence , holiday calendar update , working day , tmre , non working day , LOD-SF-EC-TIM-REC , Recalculation , How To

Product

SAP SuccessFactors Employee Central all versions