SAP Knowledge Base Article - Public

2498292 - Job Information: How does the FTE calculation work?

Symptom

  • How does the FTE calculation work?
  • Manual FTE value is not saved - After saving the manually entered value in the "fte" field, the UI shows the calculated FTE and not the value set manually in the UI

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.

Environment

Employee Central - Job Information

Reproducing the Issue

Example:

  1. Edit Job Information data
  2. User has Standard Hours 40 and on the Legal Entity.Standard Hours it is also 40 - FTE is calculated as 1.
  3. Manually set the FTE field value 0 (was set to 1)
  4. Click Save
  5. The FTE value is saved as 1

Cause

If the standard-hours field is enabled in the configuration. The system will always calculate the FTE based on Job Info Standard Hours Vs Object Standard Hours (Legal Entity or Location or Job Classification) depending on configuration.

If the standard-hours field is not included in the configuration and instead a custom field is used for standard-hours, then you will need to use a Business Rule to automatically calculate FTE.

Resolution

The system will always derive the standardHours value used to calculate FTE from one of the following three objects based upon the placement of each objects code in the propagation XML, as the propagation data model reads from top to bottom.

jobInfo.standard-hours / jobInfo.company.standardHours
jobInfo.standard-hours / jobInfo.JobClassification.standardHours
jobInfo.standard-hours / jobInfo.location.standardHours

 

Standard Configuration

If you do not want the system to check the position standard hours field, then you need to maintain the standard hours on one of the following objects: Legal Entity, Job Classification or Location

You also need to have the following code in the propagation XML for this to work

For Legal Entity:

<propagate foundation-element-id="LegalEntity">
<field id="standardWeeklyHours">
<destination field-id="standard-hours" hris-element-id="jobInfo"/>
</field>
</propagate>

For Job Classification:

<propagate foundation-element-id="JobClassification"> 
<field id="standardWeeklyHours"> 
<destination field-id="standard-hours" hris-element-id="jobInfo"/> 
</field>
</propagate>

For Location:

<propagate foundation-element-id="location">
<field id="standardHours">
<destination field-id="standard-hours" hris-element-id="jobInfo"/>
</field> 
</propagate>

NOTE: The logic for the propagation described above remains the same but you do not need to manually add this anymore since this is now hardcoded as well.

Please note the above config that has to be added to the propagation XML is the standard logic that we deliver to calculate FTE

Any other way has to be done via business rules which is a custom configuration to suit each customer, with regards to there needs

NOTE 2: The calculation of the FTE is triggered by a change in the standard-hours so if for example you try to manually update the FTE field without changing the standard weekly hours then the FTE calculation will not work.

 

Position Specific Configuration

If you need the system to check the standard hours value on the position object, then you will need to create a business rule like this:

2018-07-11_07-30-53.png

The rule checks in the following manner:

  • If Standard Hours of Position is defined and not zero, then FTE = Weekly Standard Hours / Standard Hours of Position.
  • If Standard Hours of Position is not defined or zero, then FTE = Weekly Standard Hours / Standard Hours of Job Code.
  • If Standard Hours of Position and Standard Hours of Job Code are both not defined or zero, then FTE = Weekly Standard Hours / Standard Hours of Location.
  • If Standard Hours of Position, Standard Hours of Job Code and Standard Hours of Location are not defined or zero, then FTE = Weekly Standard Hours / Standard Hours of Legal Entity.
  • If Standard Hours of Position, Standard Hours of Job Code, Standard Hours of Location and Standard Hours of Legal Entity are not defined or zero, then FTE = 0.

This rule needs to be triggered onChange on the Standard Hours field on the job information element, which can be done via the XML or Manage Business Configuration

2018-07-11_07-31-09.png

Important Note: The propagation XML code for the Legal entity standard hours, job classification standard hours and the location standard hours must be removed if going to use a rule like this to check the standard hours on the position

Please do continue to maintain the standard hours value on the objects themselves though, as the rule will be able to check against them in the following

If doing job info imports, you must have enable business rules during import permissions granted to the user so this rule can trigger

If the system finds no standardHours value, then it will move on to the next object and so on, until it finds a value.

 



Custom Configuration

If you do not want to use the standard/hard-coded method for calculating FTE, then you will need to configure the system differently to calculate the FTE. Using Business Rules and a custom-double field will meet this requirement. If you need to calculate FTE based on many different scenario's such as you need FTE to be 0 if the employee is on a Leave of Absence for example, then you need to configure this scenario with Business Rules.

Example - Custom Configuration

Via XML

  1. If you do not want to use the pre-delivered standard-hours functionality, then disable and remove the field from the configuration (meaning import SDM XML to first set the field jobInfo.standard-hours visibility to "none", then do SDM xml import again a 2nd time, and this time remove the field from the XML entirely).
  2. With the standard-hours field removed entirely from the XML - add a custom decimal field (custom-double) field to jobInfo and use this as your field for Standard Hours instead.
  3. Create a new Business Rule which you can set as an onChange (on the custom standard hours field) and/or an onSave rule (on jobInfo element) where the FTE can be calculated differently depending on the requirement/scenario.

Via BCUI

  • If you do not want to use the pre-delivered standard-hours functionality, then disable and remove the field from the configuration > navigate to Admin Center > Manage Business Configuration > jobInfo element > first set the "Enabled" status of the field to "No" and click Save. Then once the page refreshes, click Take Action > Make Correction and then click the trash can icon to the right of the standard-hours field and then click Save again.
  • With the standard-hours field removed entirely from the BCUI (as described above) - add a custom decimal field (custom-double) field to jobInfo and use this as your field for Standard Hours instead.
  • Create a new Business Rule which you can set as an onChange (on the custom standard hours field) and/or an onSave rule (on jobInfo element) where the FTE can be calculated differently depending on the requirement/scenario.

Example Rule -:

 FTE_Calc_rule.jpg

 Warning: Do not use a Custom FTE field, as other area's of the application use the "fte" field in Job Information element (FTE for Position Management, calculation of Compa-Ratio & Range Penetration etc), so for these other features to work correctly, you must use the pre-delivered FTE field.

FAQ - Additional Information

Q) Where can I get Guide?

A) Guide: Employee Central Position Management

Chapter: Determining Standard Weekly Hours

Keywords

Calculate FTE, Job Information, Standard Hours, Employee Central, FTE, Rule, Manual FTE, jobInfo, fte, standard-hours, standardHours. , KBA , LOD-SF-EC-JOB , Job Information , LOD-SF-EC , Employee Central , LOD-SF-EC-POS-JTP , Job Information to Position Sync , How To

Product

SAP SuccessFactors Employee Central all versions