This chapter contains the following:
How You Validate Salary Changes with the Grade Range
You can verify that salary changes fall within the appropriate range for each person using grade range validation. This validation generates a warning message when someone enters a new or adjusted salary that's outside the person's assignment grade range. The person can ignore the message or revise the salary to fall within the valid range.
The assignment grade in the grade rate attached to the salary basis defines the minimum and maximum grade range values. You can adjust the base ranges by linking a differential profile to the salary basis. Differentials apply according to one of these criteria:
Location and business unit
Compensation zone and business unit
You can also associated differentials with the type Grade Rate that override the grade rate, and thus the grades and grade ranges, associated with the salary basis. The grade rate from the differential profile has to have corresponding grades for all the grades of the grade rate linked to the salary basis. If the differential grade rate's missing grades that the grade rate linked to the salary basis has, people won't see salary ranges and analytical values.
Salary Range Violation Behavior for Proposed Salaries
You can specify how to handle salary range violation for various compensation actions, such as Change Salary and Salary History. This handling also applies to Offer and HR actions that include the Salary section, such as Offer, Hire, Promote, and Transfer. You configure violation behavior using the Salary Range Violation Behavior field of the salary basis.
You can let people propose salaries that violate the salary range with or without a warning. Or, you can prevent people from proposing any salaries that violate the salary range. For example, you warn people when their proposed salaries are under or over the specified salary range. Or, you don't let anyone propose salaries that are under or over the specified salary range.
The default value for the Salary Range Violation Behavior field of all existing salary bases is Warn. We don't recommend that you change it to Error for existing salary bases because you can get errors with historic data. For example, you have an existing salary basis with a salary range of 100 to 200 USD. The salary basis is associated with a 2010 salary record where the salary amount was 95 USD. It's also associated with a 2015 salary record where the salary amount was 105 USD. When you change the violation behavior to Error and try to load salary for 2020, you can get the violation error for 2010. The error occurs even though that's not the record you're correcting. If you want to set the violation behavior to Error, then we recommend that you create another salary basis to use with new salaries. This way, you can avoid issues with historic data.
When you set the violation behavior to Warn, you don't see the warning message when you load salaries using these tools: REST API, HCM Data Loader, and HCM Spreadsheet Data Loader. These tools show you only errors. The Download Salaries task and grate step progression processes ignore this violation behavior.
How Salary Metrics Are Calculated
The salary amount is dated while the full-time equivalent (FTE), grade, grade rate, and differential profile are effective dated. Thus, a salary record can have logic for multiple combinations of FTE, grade, grade rate, and differential to apply for different time periods of the record. So, how are salary metrics, such as compa-ratio, range minimum, and range maximum, calculated? The metric calculations use a reference date. Here's how we determine that date:
If the salary record has an end date that's earlier than the current date, then use the salary end date.
If the salary record start date is in future, then use the salary start date.
If the salary record started in the past and doesn't have an end date, then use the current system date.