SAP SuccessFactors Compensation system allows for several standard validations, such as soft/hard stops related to merit, extra, lumpsum, and promotion guidelines, force-comment functionality for raises/adjustments, and budget related hard and soft stops. You can also create a standard validation to editable numeric and string custom fields. Set Value Range validation allows administrators to define a range of acceptable inputs; when users enter values outside the range, the system displays an error. Set enumerated range validation allows administrators to define specific values, which are displayed as a dropdown list for users to choose from. However, some customers would like to create additional validation specific to their business processes. Customer-driven logic allows the customer to define their own true/false formulas that would trigger messages of hard and soft stops to improve their quality of planning. These may include:
- Adding a custom dropdown list of reasons for an adjustment
- Adjustments limited to certain amounts
- Combinations of adjustments that are not allowed (for example, merit adjustment or lumpsum, but not both)
Creating Validations
Admins with access to the column designer can specify the type of validation that occurs when the administrator's defined conditions are met. Types of custom validations include the following:
- Warning, which displays an informational message
- Error, which displays a message and does not allow the worksheet to be saved until the condition has been corrected
By using a custom formula, administrators can add a custom logic that will trigger a warning or error message when violations are made. For example, admins might want to make sure an employee's promotional salary increase is not allowed until their pay grade has been changed (a hard validation), or might want an informational message displayed when an employee’s salary adjustment is entered that is higher than a pre-defined maximum (warning).
In the figure, Custom Validation, you can see how the Validation column was created. The formula, if(lumpSum=0,"Ok",if(customField1="No Reason","Error","Ok")), defines the field output when the conditions are met. The custom validation formula, if(lumpSum=0,"TRUE",if(customField1="No Reason","FALSE","TRUE")) defines how the error message is triggered. In this example, the end-user will get an error message when a lump sum award is given to an employee without choosing a lump sum reason (customField1).
Reminders when using custom validations:
- Validations can only be applied to Custom/Reportable/Read-only fields.
- A maximum of 20 validations per template is allowed.
- Only FALSE or False values in a validation formula will trigger the validation.
- Any custom fields with supported operations and equations can use custom validations.
- Custom validations are supported in stand-alone compensation plans only.
- Be mindful of dead-ends. Don’t create a hard validation that the end-user can’t resolve which would prevent saving.
- Avoid using custom validation as part of cross-tab formulas.
- You can hide columns containing custom validations to free up screen real estate.