Symptom
You need to perform an OData call which would return you the subordinates of an HR Manager.
Environment
- SuccessFactors
- OData
Resolution
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
There are two entities which can store the HR Manager of a user:
- User;
- EmpJobRelationships.
The field which stores this information in the User entity is "hrReports". A query can be easily made on User entity filtering by this value, which would return the subordinates of that filtered HR Manager.
Example:
odata/v2/User?$select=userId,hrReports&$filter=hrReports eq 'HRADMIN'
This query would return all the users related to the HR Manager "HRADMIN".
However, be aware that the HR Manager that is shown in the user profile UI (as you can see below) is not stored in the User entity, but in the EmpJobRelationships entity:
In the EmpJobRelationships entity, "relUserId" is the field that has the value of the HR Manager from the user's profile page, and "userId" is the user himself.
This can be user to filter the subordinates of an HR Manager as well.
Example:
odata/v2/EmpJobRelationships?$select=userId,relUserId&$filter=relUserId eq 'HRADMIN'
This query would return all the users related to the HR Manager "HRADMIN" as well.
Keywords
successfactors, success, factors, odata, query, hr, manager, direct, report, inferior, employee, hrreports, reports, api, call, relationship, relation, EmpJobRelationships, Job, Relationships, filter, search, fetch , KBA , LOD-SF-INT , Integrations , LOD-SF-INT-ODATA , OData API Framework , How To