Salary: Exceptions and Adaptations

The Salary business object doesn't always act according to the general principles of Autocomplete rules.

Sometimes, you can adapt it by adding a unique additional condition or coding style. These adaptations might not be functionally obvious per your requirement, but instead are technically required to control for your specific requirement.

Exceptions

Here's a list of the rules that you can't currently implement for the Salary business object.

Number Rule Rule Type Actions Impacted Sections Impacted Fields Impacted Comments
1 Object Validation Runs Only on Submit Object Validation All Salary All Since this is typically the last section of most Offer and HR flows, this isn't a big issue. Starting with release 22A, validation runs on both Continue and Submit.
2 Can't Change the Default When Re-Entering a Section Object Defaulting All Salary All The default salary basis is set according to criteria, for example, about the assignment or job. If you change that criteria and return to the Salary section, the default salary basis won't be updated.
3 Ignore Multiple Changes in a Single Day Object Defaulting All Salary All If you make changes to the assignment--for example, multiple times in a day--that affect the criteria determining the default salary basis, the Salary section won't create the business object. It also won't treat the change as a correction since the Salary object doesn't support multiple changes in a day with its effective date handling of salary records.
4 Can't Change Values in Other Sections to Fix Salary Section Validation Issues Object Validation All Salary All When Salary business object rules raise an error, you can fix data issues only in the Salary section of the Offer and HR flows. You can't go back to previous sections. Only when you select a valid value can you visit the previous sections, such as Assignment. If you need to change information in previous sections, then you need to cancel the transaction and start over. For example, the rule validates that the salary basis frequency has to be hourly for a part timer. When you get the error, you can't change the person's assignment to full time. You need to select salary basis with an hourly frequency for the part timer.
5 Can Set Default the First Time Salary is Created Object Defaulting All Salary All The default salary attributes are set according to criteria the first time you propose the salary or when salary is created during a conversion or copy process. They won't default again when you correct an existing salary. They also won't default again when you return to the previous sections, change criteria, and go back to the salary section. And they won't default again when you change criteria during a conversion flow, such as pending worker, where the salary already exists.
6 Field Validation Runs for Only That Field Field Validation All Salary Field with Validation The field validation rule runs when you change the value of the field and then press Tab or click elsewhere.

The rule doesn't run when you make changes to other fields that affect the salary amount. For example, when you change the adjustment amount percentage or incremental, standard, or advanced component values. To validate how changes made to other fields affect the salary amount, you're better off using object validation.

7 Object Validation Also Runs after Clicking Select Components Button Object Validation All Salary All For incremental or standard types of salary basis, object validation starts after people click the Select Components and Continue buttons. If a violation is detected, such as salary amount isn't in salary range, people can't select components until they fix the violation.

Adaptations

Here's a list of the rules where you can vary the rule logic to achieve the result you want.

Number Rule Rule Type Actions Impacted Sections Impacted Fields Impacted Comments
1 Validate Salary Amount Field Field Validation Change Flows Salary Salary Amount Validation runs even before someone enters the Salary section. You need to sample old and new values for the NOT NULL condition to make sure it runs only after they change the value in the Salary Amount field.
2 Handle Salary Update All Change Flows Salary All A salary update end dates the applicable salary and adds the new salary. Validation runs for both salaries, so you need to include additional conditions if you want to prevent this scenario.
3 Set Default Salary Basis During Offer Object Defaulting Create and Edit Offer Salary Salary Basis When accessing the person's assignment for criteria, check for Assignment Row NOT NULL followed by WorkTermsAssignmentId NOT NULL to make sure there isn't an error during a subsequent Move to HR process.
4 Autocomplete validation runs at transaction approval, but not while processing Validation
  • Change Salary
  • Salary History
Salary All To prevent autocomplete validation during salary approval, use the global Get the current state of the transaction function. This function bypasses autocomplete when the transaction state isn't Initial submit. For more information about this function, see Global Functions.