SAP Knowledge Base Article - Public

2845107 - onChange Rules are not working on ESS or MSS

Symptom

  • onChange rules do not work on Employee Self Service (ESS) but works in Manager Self Service (MSS)
  • onChange rules do not run and are not logged in the Rule Trace 
  • An Application Error shows in the Browser Logs after changing a field value to run onChange rules
    • fingerprint=0d07ed62167127c63d2f41a88826e6b96308b672

*Image/data in this KBA is from SAP Internal Systems, sample data, or Demo Systems. Any resemblance to real data is purely coincidental.*

Environment

  • SAP SuccessFactors Employee Central - Business Rules
  • SAP SuccessFactors Employee Central - Job Information

Reproducing the Issue

  1. Configure a rule that updates the values of other fields. In the following example, Work Schedule is used. 

    Rule.jpg

  2. Add this as an onChange rule to the respective field such as Work Schedule.
  3. As a Manager or Admin, go to an Employee's Profile.
  4. Using MSS, go to Take Action > Change Job and Compensation Info.
  5. Enable Job Information and change a field that has an onChange rule which updates values of other fields.
  6. The other fields values are update as per the onChange rule.

    MSS.jpg

  7. Proxy as the Employee and go to his own Profile.
  8. Using ESS, go to Take Action > Change Job and Compensation Info.
  9. Enable Job Information and change a field that has an onChange rule which updates values of other fields.
  10. The other fields values are not updated as per the onChange rule.

    ESS.jpg

  11. In the Rule Trace, the onChange rules never run in ESS.

Cause

This issue will happen when the following configurations are true:

  1. Refresh Compensation Required is set to "Yes" for Work Schedule field.

    Refresh Comp Required.jpg
  2. The Employee does not have access to Compensation Info Edit Link in RBP for ESS.

    Comp Info ESS.jpg

When "Refresh Compensation Required" is set to "Yes", the system automatically refreshes Compensation Information fields. Because the Employee does not have access to Compensation Information, the system throws an error in the back-end and the onChange rules do not run as expected.

Resolution

To resolve this issue, adjust the following configuration:

Option 1: In Manage Business Configuration > jobInfo > workschedule-code, set "Refresh Compensation Required" to "No".

Option 2: Grant the Employee access to Compensation Information Edit Link:

  1. Go to a Permission Role that grants access to ESS.
  2. Go to Employee Central Effective Dated Entities and scroll to the Compensation Information Section.
  3. Enable the Edit Link permissions to at least "Edit".
  4. Save the changes.
  5. To confirm the permission is granted, using ESS, go to Take Action > Change Job and Compensation Info, Compensation Information checkbox should be displayed.

See Also

2533954 - Changes In Job Information Initiate Refresh For Compensation Information

Keywords

onChanges rules, onChange rules do not work in ESS, Refresh Compensation Required, ESS, MSS, read-only, permissions, Edit Link , KBA , LOD-SF-EC-JOB , Job Information , LOD-SF-EC-CMP , Compensation Information & One-Time Bonus , LOD-SF-EC-BCI , Manage Business Configuration (BCUI) & Data Models (XML) , LOD-SF-EC-RUL , DO NOT USE - Business Rules & Event Derivation , Problem

Product

SAP SuccessFactors Employee Central all versions