Country field updates done through OData APIs have duplicate OR two entries in the candidate/application audit history page
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
SAP SuccessFactors Recruiting Management
Reproducing the Issue
Update a country field in application or candidate profile using OData API.
And then check the Candidate/Application history, you will see two entries for the field country.
The source of first entry would be "OData" and the source of the next would be "OData Rule"
Our Engineering team has confirmed that this is working as designed.
There will be two Audit entries in the Audit History. This is specifically to the Country field. And only observed in ODATA call.
Reason behind this is in ODATA we have defined Country as String. And in DB it is stored as a TWO LETTER country code. So when we are trying to update country with ODATA API and give Country value as string, first it tries to convert the String value to Picklist ID, and then This picklist ID is converted to TWO LETTER country code.
This final TWO LETTER country is the one that should be saved into DB as well.
This scenario is little different from UI, because in UI we already showing the Country values as Picklist only. So while we are saving, from UI, we are already sending the Picklist ID from UI to backend.
This is an expected behavior for the standard Country field upsert using ODATA APIs in Application and Candidate profiles.
OData, OData rule, OData API, country field, Country, Application, Candidate Profile, duplicate entry, two entries, candidate history, applicant history, application history, audit history , KBA , LOD-SF-RCM-API , Webservices & APIs , LOD-SF-RCM-CAN , General Candidate Issues (not Offers, not Profiles) , LOD-SF-RCM-APP , Applicants and Job Applications , Problem