SAP Knowledge Base Article - Public

2387567 - Query on PerPerson doesn't fetch the records from all the employees - OData API

Symptom

You are trying to query data of employee data from PerPerson Odata API entity.

However, it doesn't return data of all the employees existing in the SuccessFactors system.

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

Environment

  • SAP SuccessFactors HCM Suite
  • OData API

Reproducing the Issue

Execute the below query:

/odata/v2/PerPerson?$format=json&$select=personIdExternal

You notice that all the records present in sucessfactors system is not returned.

For example, you obtain one or two records as shown below:

 {
   "results" : [
{
"__metadata" :

{ "uri" : "https://api4.successfactors.com:443/odata/v2/PerPerson('1234')", "type" : "SFOData.PerPerson" }

, "personIdExternal" : "1234"
}, {
"__metadata" :

{ "uri" : "https://api4.successfactors.com:443/odata/v2/PerPerson('2345')", "type" : "SFOData.PerPerson" }

, "personIdExternal" : "2345"
}, {
"__metadata" :

}

Cause

This is a permission issue.

The API user (User who triggers the API call) has limited access to the data.

Resolution

Provide the below permissions to the API user.

Admin Center -> Select the Permission Role -> Click on Permissions Tab.

Scroll down to "Employee Central API" as shown in the screenshot and enable the highlighted permission.

permissions.png

See Also

Employee Central OData API: Reference Guide

Keywords

PerPerson Odata API issue, Employee Central HRIS OData API, call, blank, empty, null, results, values, field, query, odata, success, factors, , KBA , LOD-SF-INT-API , API & Adhoc API Framework , LOD-SF-INT , Integrations , Problem

Product

SAP SuccessFactors HCM suite all versions