Symptom
- When the Compensation fields are mapped to some Employee Central fields the launched compensation form does not pull in this Data
- The Data is Visible via Employee Central when viewed.
Environment
- Successfactors Bizx Application
- Successfactors Compensation and Variable Pay
- Employee Central
Cause
- The issue occurs when compensation fields are mapped to Employee Central derived fields.
- Derived field means that the value of the fields is populated by rules in employee Central.
- Often the issue comes up with the EC fields that are populated by onView, onSave and onInit rules. This means the rule is triggered when EC page is viewed, however these rules are not triggered when EC API is loading the data. Thus, you often observe the data is not pulling into Compensation.
How will customer/partner/support person know if the field is a derived field?
For Customers, please raise an case with Customer Success so that your XML can be inspected.
For Partners and Support Personnel, please follow the below steps:
1. Download the xml of the Compensation form and locate the field with the issue. Sample field definition is below:
<comp-field-definition id="compDepartmentName" isCustomField="true" isVisible="true" type="string" useFor="salary" readOnly="true" hidePercentage="false" hideAmount="false" percentageReadOnly="false" reloadable="false" displayOrder="13" reportable="true">
<comp-field-label><![CDATA[Department]]></comp-field-label>
<comp-ect-input-field-map componentType="jobInfo" fieldName="custom-string13"/>
</comp-field-definition>
2. Will see from the above example, that the fieldName is custom-string13 under the jobInfo component type.
3. Download the succession Datamodel of the Instance and locate the jobInfo Element
Rule in jobInfo to populate custom-string13:
<trigger-rule event="onView" rule="EC_JI_HideFieldNameOnSave"/>
<trigger-rule event="saveAlert" rule="EC_JI_ContractEndDateNotification"/>
<trigger-rule event="saveAlert" rule="EC_LoA_AlertandNotification1"/>
<trigger-rule event="onSave" rule="EC_JI_MassPositionWarning"/>
<trigger-rule event="onSave" rule="EC_JI_PayGradeRangeToCompensation"/>
<trigger-rule event="onSave" rule="EC_JI_HideFieldNameOnSave"/>
<trigger-rule event="onSave" rule="EC_JI_FTE"/>
<trigger-rule event="onSave" rule="EC_JI_ConcurrentEmployment"/>
<trigger-rule event="onSave" rule="EC_JI_EventReasonCheckforTransfer"/>
<trigger-rule event="onSave" rule="EC_GA_EventReasonErrorMesg"/>
<trigger-rule event="onSave" rule="EC_JI_EventReasonPMDP"/>
<trigger-rule event="onSave" rule="EC_JI_PMDPGroupErrorMsg"/>
<trigger-rule event="onSave" rule="EC_JI_PromotionFieldAutoPopup"/>
<trigger-rule event="onInit" rule="EC_JI_HideFieldName"/>
<trigger-rule event="onInit" rule="EC_JI_PositionEntryDate"/>
Field Declaration for custom-string13
<hris-field max-length="256" id="custom-string13" visibility="view" allow-import="true">
<label>Department Name</label>
<label xml:lang="en-US">Department Name</label>
4. The trigger-rule event indicates that these custom-strings will be derived bysed on the rules set.
Resolution
Avoid using these derived field in the mapping Compensation fields to EC fields. Instead of derived fields, map to the source field instead.
For Example for a Department field, Instead of mapping the field in your Compensation form:
<comp-field-definition id="compDepartmentName" isCustomField="true" isVisible="true" type="string" useFor="salary" readOnly="true" hidePercentage="false" hideAmount="false" percentageReadOnly="false" reloadable="false" displayOrder="13" reportable="true">
<comp-field-label><![CDATA[Department]]></comp-field-label>
<comp-ect-input-field-map componentType="jobInfo" fieldName="custom-string13"/>
</comp-field-definition>
You should map it straight to the Source field.
<comp-field-definition id="compDepartmentName" isCustomField="true" isVisible="true" type="string" useFor="salary" readOnly="true" hidePercentage="false" hideAmount="false" percentageReadOnly="false" reloadable="true" displayOrder="15" reportable="true">
<comp-field-label><![CDATA[Department]]></comp-field-label>
<comp-ect-input-field-map componentType="jobInfo" fieldName="department.name"/>
</comp-field-definition>
Note: You may raise the request with customer success to assist in updating your template's xml. Please note that any changes to the template of the compensaton form will not affect launched/live forms. The change will only be evident in any new forms launched after the configuration change.
Keywords
KBA , LOD-SF-CMP , Compensation Management , Problem