Compensation Planning |
Troubleshooting
Data only users interfere with the Compensation Plan
When you’re setting up the plan, make sure you select managers who can log in to WX as planners.
Error with no detail returning when I refresh a plan
Try refreshing the plan again in the HR Manager portal. This often results in a more detailed error message.
ERROR: "CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY ..."
The error reads: "….CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY…":
To resolve:
-
Turn off any Workflows Rules, Process Builder processes or Flows that trigger from the Employee Plan, Employment Record or Salary objects.
-
Go to the Top Planner, open the plan, set the Status to Approved and save the plan.
-
Commit the plan.
Refreshing a plan doesn't update the refresh date
There's a problem with the data in the plan. This can happen when you manually add a planner when it was already in progress. Or when you manually delete a plan. We don't currently support adding planners when the plan is in. As a workaround, you can create a new plan for the missing planners and use exclusion formulas to add the team members you need.
-
To identify a planner without a plan, run an anonymous Apex query.
-
Select Setup and then select Developer Console.
-
From the Debug menu, select Open Execute Anonymous Window.
-
Paste the query from the following code snippet into the Enter Apex Code window:
CopyQuery for identifying planner without a planList<spcompplan__plan__c> plans
= [select id, spcompplan__planner__c from spcompplan__plan__c
where name= :'Plan Name'];
List<spcompplan__planner__c> planners
= [select id, spcompplan__team_member__c from spcompplan__planner__c
where spcompplan__plan__r.name= :'Plan Name'];
Set<Id> plannersWithPlan = new Set<Id>();
for(spcompplan__plan__c p : plans) {plannersWithPlan.add(p.spcompplan__planner__c);
}
for(spcompplan__planner__c planner : planners){
if(!plannersWithPlan.contains(planner.spcompplan__team_member__c))
{System.debug('### ERROR PLANNER WITHOUT A PLAN => ' + planner);
}
} -
Modify the query. Replace
Plan Namewith the actual name of the plan in the two places it occurs in the query. -
Select the Open Log checkbox and then select Execute.
-
At the bottom of the Execution Log view, select Debug Only. Look for messages starting with ###.
-
Note any planner names in the debug lines.
-
-
To find the planner records so you can remove them, run another query.
-
In the Developer Console, select the Query Editor tab.
-
Paste the query from the following code snippet into the Query Editor window:
CopyQuery for identifying planner recordsSELECT id, spcompplan__Team_Member__r.Name, spcompplan__Plan__r.Name
FROM spcompplan__Planner__c
WHERE (spcompplan__Team_Member__r.Name = 'Name1'
OR spcompplan__Team_Member__r.Name = 'Name2')
AND spcompplan__Plan__r.Name = 'Plan Name' -
In the Query Editor, replace Name1 and Name2 with the names of the planners. The previous script returns these.
-
If necessary, add more
spcompplan__Team_Member__r.Nameitems separated byOR. -
Replace
Plan Namewith the name of the overall plan. -
In the Query Editor, select Execute.
-
In the Query Results, delete any rows the system returns.
-
ERROR:"Access Denied: OP_READ on spcompplan__Plan__C"
Make sure you've assigned the appropriate permission sets to users:
-
Team members: Sage People Platform Team Member Compensation Planner
-
HR Managers: Sage People HR Manager Compensation Planning Configure
-
HR Administrators: Sage People HR Administrator Compensation Planning Configure
ERROR: "Fetching details for planners failed"
Review all team member records and confirm they all have an active manager. If you can't find any team members without a manager, review the data for any circular reporting relationships. For example, team member A reports to manager A, yet manager A reports to team member A. Using a report and including the Reporting Line field can be helpful in identifying such records.
ERROR: "Some Team Members do not..." in Ready to Plan
When you select Ready to Plan for a compensation plan, Sage People runs checks on the team member data you include in the plan. For the kinds of checks run, see Ready to Plan checks. Review the details of the error and then review the team member records.
ERROR: "Unable to process this request. Check for null values"
Review all team member records and confirm that all team members have an active manager.
Checkbox formula isn't working correctly
Review your formula. When creating checkbox formulas, make sure you don't use quotation marks around the values.
For example:
If you use quotation marks around the TRUE and FALSE values, the system interprets them as text strings rather than Boolean logical options. Then the formula doesn't work as we expect. For more information, see Formulas.
Need to change details on a Plan but it's already in progress
You can update the End Date:
-
Create a tab to display the Plan object.
-
On the Plans tab, create a list view and display the End Date field.
The list view displays a row for each planner defined in the plans.
-
If necessary, filter the list to only show the plan in progress.
-
Select the checkboxes for all the rows. Edit the End Date for one of the rows and select the Update NN selected items checkbox.
-
Select Save.
When the End Date is in future, the plan displays in WX and the planners can submit their plans.
Compensation plan is reverting to draft after selecting Ready to Plan
To resolve, check the following:
-
Check for circular reporting relationships.
-
Check if you have any active Flows, Process Builder processes or Workflow Rules updating Employment Status. Deactivate it, select Ready to Plan on the compensation plan. If this resolves the issue, consider if you still need the Flow, Process Builder process or Workflow Rule. If yes, review its details and the best practices for process automation.
ERROR: "REQUIRED_FIELD_MISSING" or "Attempt to de-reference a null object"
The error reads either: "Insert failed. First exception on row...; first error: REQUIRED_FIELD_MISSING,
- Required fields are missing: [fHCM2__Employment__c]: [fHCM2__Employment__c]
or
- Attempt to de-reference a null object
Delete the Employee Plan records that include deleted team members and start a fresh plan. The error happens when delete a team member you include in the plan before you commit the plan.
Other items to check:
- Make sure all active team members have an active employment record.
- Make sure all active team members have an active salary record with currency and amount. The amount must be 1 or more.
- Make sure all bonus records have an amount and currency. The amount must be 1 or more.
- Make sure all team members you want to include in the plan have a manager.
- Make sure there's only one manager in the org without a manager (one top manager).
In a sandbox, you can look for a more meaningful error by creating a new compensation plan to match the one with errors. The validation checks after selecting Ready to Plan can identify the issues you need to fix in the plan with the error. You can then delete the new plan in the sandbox.
ERROR:"No such column" in the Salary Batch failed email
The user committing a plan receives an error email and the plan is partially committed. The email contains a message like:
"The Create Salary Batch has failed for the [plan name]. No salaries have been changed and the [plan name] has been reset to Approved status.
No such column [field name] on entity [object name]. If you’re attempting to use a custom field be sure to append the __c after the custom field name. Please reference your WSDL or the describe call for the appropriate names."
Ensure the field in the email has field level security set to Visible for the Profile the user receiving the error uses:
-
Go to Setup , and select the object hosting the field.
-
From the sidebar, select Fields & Relationships.
-
Select the Field Label for the field.
-
On the field definition detail page, select Set Field-Level Security.
-
Check Visible for the Profile you assigned to the user who received the error.
-
Select Save.
