SAP Knowledge Base Article - Public

3462008 - I'm unable to retrieve data even though I have the necessary permissions - SuccessFactors OData API

Symptom

You have necessary permissions to retrieve data for a specific entity, for example PerPersonal, and you are unable to retrieve data for PerPersonal fields like: preferredName or lastName etc.

Environment

  • SAP SuccessFactors HCM Core
    • OData API

Reproducing the Issue

  1. Run the following query: 
  2. odata/v2/EmpEmployment?$format=json&$expand=personNav/personalInfoNav&$select=personIdExternal,userId,startDate,originalStartDate,serviceDate,endDate,personNav/personalInfoNav/firstName,personNav/personalInfoNav/lastName,personNav/personalInfoNav/preferredName
  3. data for the PerPersonal fields won't be returned

Cause

Missing permissions for the navigation entities.

Resolution

If you remove for example the permissions for PerPerson entity "Biographical Information" permission, you cannot use it in the navigations. 

Even though you have the permission for the final entity, you need to either grant permission for the navigated entities as well, or query the PerPersonal entity directly in the above example. 

You need to have RBP permissions for all the navigations in order to return the data properly. 

Keywords

permission, OData API, navigations, unable, fields, target entity, starting entity, user mode, admin mode, admin. , KBA , LOD-SF-INT-ODATA , OData API Framework , LOD-SF-INT-EC , Employee Central SFAPI & OData Entities , Problem

Product

SAP SuccessFactors HXM Core 2311