Symptom
As an OData Admin, whenever trying to upsert a record into a background entity for a specific user, you receive the error "Employee 123456 has no Edit access to section admin for employee Background_Apitest with the index 0".
Environment
SuccessFactors HXM Suite
- OData API
Reproducing the Issue
When calling an Upsert through OData call e.g. odata/v2/Background_Apitest?$orderby=bgOrderPos desc&$filter=userId eq'admin'&$format=json, you receive an error message "Employee 123456 has no Edit access to section admin for employee Background_Apitest with the index 0".
Cause
Different API requests have different permission related. If it's an admin operation for all background records, we will need the admin permission, however if the operation is for a specific user, we will need the specific background element permission for the target user.
Hence, due the query being limited for a specific user, the error message was being thrown.
Resolution
Even though your user have all the OData admin permissions, if you want to trigger an upsert for a specific user using background entities you will need to add the 'Edit' permission that is generally located withing RBP at Employee Data > Background Elements.
Note: Please also remember that whenever you create a new Background record via OData API operation insert/upsert, you'll have to pass the value "0" in the payload for the backgroundElementId field, as mentioned at 2310044 - Upsert on Background related OData API entities - SuccessFactors OData API.
See Also
Keywords
No edit access background entity odata upsert sysoverallperformance , KBA , LOD-SF-INT-ODATA , OData API Framework , LOD-SF-INT , Integrations , Bug Filed