SAP Knowledge Base Article - Public

2557428 - Changing a Users Job Information Field Does not Trigger Recalculation

Symptom

Upon changing user's job information field such as Working Days Per Week (triggered by a change to the work schedule), from 5 to 3 days a week, no recalculation is triggered.

Checks:

1. Recalculation is enabled in the Time Management Configuration object.

time mgt recalc.png

Note:

If a field like "Working Days Per Week" should trigger a recalculation, you have to add it the recalculation relevant fields for the time account type.
Using the Time Management Configuration feature is not actually needed in this scenario, you can observe the same issue without using that feature.

  • If Recalculation is active (and the field is recalculation relevant), a recalculation event created that triggers the recalculation.
  • If not active (and the field is recalculation relevant), synchronous accrual recalculation is triggered.

2. The accrual posting has an accrual period ID, and should therefore be picked up on the recalculation.

accrual period.png

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

Reproducing the Issue

  1. Set a particular field (Working days per week) as a Recalculation field on the time account type;
  2. Edit this field value on the latest job info record of a user;
  3. Check their time off balance, it has not been recalculated as per the accrual rule configuration.

Cause

If you look at your accrual rule assigned to the time account type, one of the calculations is based on "Time Account.User.Job Information.Working Days per Week", or another user-specific field.

When using any user-specific effective dated fields from job info, the value valid on accruable start date is taken into account (in this case the 1/1/2017)

So for example, you started the year with 5 day working days per week, but then moved to a 3 day work schedule, it will always consider the amount of days at the start of the accruable period (5 days), because at the moment the system cannot determine how many months to calculate based on one value and how many based on the other.

So, although a recalculation was triggered, we do not see it in the front end because the end result is the same because it is based on the same amount of days.

If you run the accrual calendar for the following year in simulation, you will see it will use the updated work schedule / working days per week value, as that would be valid on the accruable start date of that year (1/1/2018), assuming it doesn't change before then.

Resolution

If you need to get Job Info data for a date that varies from the accruable start date, you can use the rule functions below (mentioned in the Rules and Rule Functions in Time Management):

rule functions.png

So in this case for Working Days per Week, you would need the "Get Job Info Numeric Value On Key Date()" in your accrual rule, to read the latest job info record, and not the one valid on the accruable start date.

For key date you should enter accruable end date, so the system checks the latest job info record and field value.

For string fields / custom string fields you can use "Get Job Info String Field Value On Key Date(), and for Date type fields you can use "Get Job Info Date Field Value On Key Date().

Note: 

  • Using the "Get Job Info String Field Value On Key Date()" function, when you use a job information custom field with datatype = STRING, but have a picklist assigned, it won't be read by the system.
  • It only reads string inputs or "Type of reference object" which are set to "No Selection" - not picklist / boolean etc.

Solution:

Create a new custom job info string field, with Type of reference object "No Selection" and no picklist assigned.

Then use an onSave or on change rule on your field "rank" in job info to automatically populate the value entered to the new custom field.

Then reference the new custom string field in your accrual rule for Get Job Info String Field Value On Key Date() function, and the system should be able to read this.

See Also

Rules and Rule Functions in Time Management

Keywords

Recalculation, Work Schedule change, working days per week, working hours per week, Get Job Info Numeric Value On Key Date, Get Job Info String Field Value On Key Date, Get Job Info Date Field Value On Key Date , KBA , LOD-SF-EC-TIM-REC , Recalculation , LOD-SF-EC-TIM , Time Off , Problem

Product

SAP SuccessFactors Employee Central all versions ; SAP SuccessFactors HCM Suite all versions