SAP Knowledge Base Article - Public

2509529 - Previous Tag missing in CompoundEmployee API query response when running in querymode=delta

Symptom

  • You run the CompoundEmployee API in queryMode=Delta
  • You find that "<previous>" is not returned for certain segments  in CompoundEmployee API response.

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

Environment

SuccessFactors Employee Central

Reproducing the Issue

  • Create an employee in EmployeeCental
  • Goto Employment information

1_2019_08_14_03_03_42_Engineer_Assistant.png

  • Insert a new record, by changing the data (may be business unit)

2_2019-08-14 03_06_46-Engineer Assistant.png

  • Now, run the CompoundEmployee API for this employee in delta mode, you can find the following response in the job information
  • <business_unit>DEV<previous/>
    </business_unit>

  • This explains that, previously there was no value but now the field carried a value DEV
  • In the same employee data, change the value in the first time slice/during the new hire time slice (here taking the example as FTE and standard hours)
  • These two values are changed to 20 and 0.5 (Via make correction)

3_2019-08-14 03_07_51-Engineer Assistant.png

  • Note: Here, we need to understand that there was no change made to the second timeslice, but editing the first time slice did create UI changes as we see in the above screenshot
  • Insert a new time slice in-between the new hire and the data change event

4_2019-08-14 03_08_30-Engineer Assistant.png

  • You might be thinking, there were changes made to the last time slice, but the last time slice was never altered, it is just UI showing the values. CompoundEmployee API response would still not render previous tag for standard weekly hours in the third time slice

Note: As the response is large in size,  it has been attached in this KBA as an attachment and can be found in the attachment section.

Cause

  • When Delta is calculated in CompouneEmployee, always the recent values are compared with the image of the employee in the database at the last modified date provided in the query.

  • Based on these details, it starts rendering the previous tag for all the values which has changed from the elapsed time (i.e., > Last modified date)

Resolution

  • This is expected behavior of CompoundEmployee API.
  • Hence, if the expectation is to get the previous tag in the latest timeslice then we should always edit the data in the respective time slice.

See Also

KBA - 2249034 - SuccessFactors: How to enable Compound Employee API

Keywords

CompoundEmployee API Tags , KBA , previous tag missing in compoundemployee , LOD-SF-INT-API , API & Adhoc API Framework , LOD-SF-INT , Integrations , Problem

Product

SAP SuccessFactors HCM Core 1705

Attachments

Response for third change.zip