Symptom
You have upserted a Position via Postman or any other tool to test Odata API calls.
The return code is 200 and mentions that the position was UPSERTED.
After that you check in Successfactors and notice that parentPosition field (even being part of the payload) is empty.
Environment
- SAP SuccessFactors HXM Suite
- SAP SuccessFactors Employee central
- OData API
Reproducing the Issue
- Go to postman or any integration test tool:
- Provide your upsert URL (example: https://apisalesdemo2.successfactors.eu/odata/v2/upsert )
- Fill the body of your request as per your company requirement and configuration for fields in position object (make sure you are providing higher level position);
- Perform your authentication;
- Execute the upsert and receive an status 200 success;
- Go to your instance in:
- Admin center;
- Manage positions;
- Check your position upserted and observe that Higher Level position is empty;
Cause
parentPosition is a navigation field so it should respect one specific format when doing the upsert.
Resolution
Please review your upsert and make sure this is similar to this format below for the field parentPosition:
Keywords
upsert parentPosition, Property parentPosition is a navigation property, the given value should be an object, odata upsert , KBA , LOD-SF-INT-API , API & Adhoc API Framework , How To