How to avoid latency in the Compensation Module
In this post we look at the possible reasons for latency in the Compensation Module of SuccessFactors.
What can be considered a latency in Compensation ?
If worksheets or Executive Review opening or reload time (after a save) is greater than 20 second. Loading more than 10k employees in Executive Review is the only case where opening times are likely to slightly increase (but shouldn’t exceed 35 seconds).
What are leading practices for good performance of the module ?
- No more than 100 employees on a worksheet.
- No enumerated fields with more than 100 values.
- In Plan Setup > Display Settings > Employees per page should be set to 20.
- In Plan Setup > Advanced Settings > Select the maximum number of records displayed (1 to 100) per page of the compensation form should be set to 20.
- In Plan Setup > Advanced Settings > Only reload user data on mass update should be checked.
Possible reasons for latency issues from an external standpoint :
The priority given by the client’s server to SuccessFactors requests (I was once in a meeting room at a client office and was able to access Executive Review 3 times faster than my clients’ computers so they reached out to IT which confirmed that SuccessFactors requests were given a LOW priority on their internal security checks and changing it to HIGH fixed the issue).
Possible reasons for latency issues from a configuration standpoint :
Too many employees on worksheets is the #1 reason for latencies (95% of the time when SAP is engaged on a latency audit this turns out to be the issue).
- This is true even for Executive Review latency : when we save even one entry in Executive Review we end up saving the whole worksheet in the backend. If the worksheet being saved is really huge, it is going to take time to process all the entries.
Any of the setups below combined with too many employees on worksheets can also dramatically increase latency :
- Too many guidelines entries (>10k) in the template. (As of 2H 2021 standard guideline tables allow custom fields attributes that are calculated or editable on the worksheet which will help in keeping guideline tables short).
- Lookup tables by UserId : please consider using an MDF object instead of a lookup table.
To find out how many employees are currently on compensation worksheets in our system we can watch this recording with step by step instructions.
Additionally, even with a regular number of employees on worksheets, having a Compensation template plugged into an EC Pay Matrix (setting in Plan Setup > Settings) that contains too many active entries effective at the same time can also create severe latency. The leading practice for EC Pay Ranges management is to only keep one active entry for a given date and combination of attribute values. Old entries can be kept in the table but need to be set to status=inactive. We should also only keep entries that are currently valid for employees in the system and not keep as active entries that no employee is assigned to in order to build a future-proof Pay Range situation (I was in a call where we found 8000 active Pay Range values in Manage Org, Pay and Jobstructure – all with unique combination of attributes – but there were only 650 unique attribute combinations assigned to active employees which created latency too).
What can be done if forms are already launched ?
- Purge deleted worksheets (see recording below).
- In the template Admin Center under Plan Setup > Advanced Settings, check the boxes below :
- Check “Only reload user data on mass update”
- For “Select the maximum number of records displayed (1 to 100) per page of the compensation form”, enter 20.
- In the template Admin Center under Plan Setup > Display Settings > Employees per page, enter 20.
What if the daily “Mass Update Worksheets” scheduled job takes too long to run ?
If worksheets are taking too long (more than 2-3 hours) to update with the daily scheduled job we first need to assess what exactly is checked in the scheduled job.
If this checkbox is checked :
and if the scheduled job runs way faster when that checkbox is NOT checked (test case we recommend running) then we would recommend looking at the way eligibility rules are built and maybe switching them to something more standard such as :
What should we know before creating a ticket to SAP Support ?
Engineering will need the x-unique-id for what is creating latency which can be found by following the instructions below (please also see recording below).
- Before replicating the action creating latency, press on F12 which opens the “Network” tab (if F12 doesn’t work then right-click and select “Inspect” then select “Network”)
- Execute the action with latency (for example click on Save in Executive Review after editing a few entries on screen).
- After the SuccessFactors page finished loading click on the log with “acme?” in it (see screenshot below) and then in “Headers” search for the x-unique-id, copy it and provide it with the environment details (server, environment ID) in the support ticket.
Additional information related to this topic can be found here : https://launchpad.support.sap.com/#/notes/2084003
Thank you !