Skip to Content
Author's profile photo Malleshwari Alam

Quick Tips and Tricks – SF Compensation/Variable Pay

I have done several SF Compensation/Variable Pay projects and want to share some tips and tricks and invite feedback or alternate solutions from the community here.

Variable Pay:

  • Issue: Proration and rounding:

Issue Description: Requirement change documented during testing phase was to not round proration. The prorated target %, so from 3/26 to 12/31 it shows a proration percent as “77%”, but the actual percent is 76.9217%. The format is #,###.000000(Reference: KBA 2268160). The actual proration is 76.9217. But the system is showing 77.0000. See Figure 1: Proration format.

Resolution: All worksheets were deleted and all calculations were re-run. The issue resolved itself but there was no obvious trigger.

Lesson Learned: Always give ample time and consideration for rounding/calculations on all proration/money fields used on the worksheet.

Figure 1: Proration format (Screenshot provided by SAP)

  • Issue: Rating N/A

Issue Description: Rating N/A defaults Individual Percent to blank, but calculates individual amount to 100% instead of 0%. So though an employee had no rating, it calculated the bonus to 100% when the amounts should have been zero.(Reference KBA: 2203461)

Resolution: create an unrated rating but do not include any values in rating, low, high fields. See Figure 2: Unrated rating.

Figure 2: Unrated rating(Screenshot provided by SAP)

  • Issue: Unable to map Background element start dates and end dates to custom fields

Issue Description: Variable Pay employee History Start and End Dates are mapped to JobInfo custom start and custom end date fields. But the system still pulls data for Job Info effective dates.

Sample code in xml:

<data-field id="startDate" field-name="startDate" required="true" max-length="999" max-file-size-KB="1000" hris-field-mapping="jobInfo.custom-date19">
      <label>Incentive Plan Start Date</label>

<data-field id="endDate" field-name="endDate" required="true" max-length="999" max-file-size-KB="1000" hris-field-mapping="jobInfo.custom-date20">
      <label>Incentive Plan End Date</label>

Resolution: NONE. Mapping of start and end date to any field is not possible. It is designed to pick up the start and end date of Job Info nothing else. An enhancement request will have to be submitted for a potential fix in the future releases.

Workaround: I had to read the data from EC, down the history file, manipulate the start and end dates to desired dates and uploaded back into the system.


  • Issue: (Annualized Salary) curSalary is multiplying by 26 in Compensation form

Issue Description: Standard current salary field “curSalary” is mapped to pay component group “annualized salary” in Compensation form. The annual salary is being multiplied by 26 times when it is pulled into the compensation form. I did not have this issue a day before. No configuration or data changes were made in the system.

Resolution: Set includeSalaryRateUnits to true in xml template and then add Units Per Year in instance.

  • Issue: Cannot hide unitsperyear field

Issue Description: ‘unitsperyear’ field currently cannot be hidden from instance or even via xml template.

Resolution: Enable Field Based Permission to set the visibility to specific group of people.

  • Issue: Cannot enable Field Based Permissions in a hybrid template

Issue Description:  I tried to enable field based permission to hide “units per year” field. However, when i enable it via UI settings, I get an application error.

Resolution: NONE: This is a known issue. This is a known issue after b1705 and the Engineering Team confirmed to fix this in the coming Release.

Work Around: The workaround at the moment is to add a non-EC pay matrix in the system. As per Engineering Team, the issue happens when there is no Pay Matrix or Salary Ranges (i.e. Non-EC Pay Matrix) configured in the Compensation Home -> Actions for all plans -> Salary Ranges.

If you add a Salary Range even with no values the issue should be resolved.

Compensation/Variable Pay:

  • Issue: Roll up hierarchy cannot include inactive employees

Issue Description:  I am using Roll up Hierarchy and need to include inactive employees.

Sample code in xml:

<comp-plan-creation rollup-users="1"/>

<comp-manager-hierarchy type ="3"/>

When I go to the template, under “Manager Users” –> Define Planners, I get the following error: “System detected a hierarchy type that is not supported for display in this screen at this time”. There is KBA article 2258014, which says you need to raise a ticket to get this resolved.

Resolution: NONE. The error message is still an issue, when it comes to the different manager hierarchy then you are using a Roll up hierarchy. As of now, this is a limitation and the engineering team still checking and considered this issue to be fixed in the future enhancement.

This is a new UI limitation and the system no longer supports the Planned Mode hierarchy with type 2 (Second manager + active users), 3 (Standard manager + inactive users) and 4 (Second manager + inactive users). (Reference: KBA: 2258014)

Workaround: If the planners are pre-defined before launching all forms, the inactive employees can be included via xml code as shown above and if the client is ok losing out on the UI functionality. However, most cases we don’t have the exact list of planners. So check with the client.

  • Issue: Modulus functionality in Compensation module.

Issue Description:  For example if the number stock awards is “100”, this needs to be rounded to a nearest number divisible by 3. So 100 should become “105”.

Resolution: NONE. The modulo operator is only possible through defining rules for Employee Central.

Workaround: NONE

  • Issue: Compensation statements link on Employee Profile

Issue Description: I had a single compensation program that needed to produce multiple compensation statements for the same group of employees. I created multiple statements templates and linked it to the compensation program. However, the previously created statements was overwritten each time I created one of them.

Example:  An employee xxx had 3 statements A, B and C, all displaying different set of information. I created statement A for the employee xxx first. Then when I created statement B, it overwrote statement A. My client had a requirement not only to just print/download them, but also to display all 3 statement links on the employee profile.

Resolution: NONE. The compensation module does not support multiple statements for same employee, from the same program.

Workaround: I had to duplicate my programs, and ask the clients’ team to duplicate planning on all 3 programs, if they wanted to see all statements links for same employee on employee profile. This was for a smaller set of employees and was a lesser concern compared to not having the statements link on the employee profile.



Disclosure: All figures provided in this article are from SAP’s DC8 Best Run demo instance.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Tejas Shah
      Tejas Shah

      Thanks for sharing your experiences, this article was very helpful.

      Author's profile photo Mohit Mourya
      Mohit Mourya

      You can easily do the modulus calculation using ‘%’ operator.

      Take a look over here