SAP Knowledge Base Article - Public

2944380 - JobReqScreeningQuestion or JobApplicationQuestionResponse Entity returning no data in Integration Center and OData API

Symptom

  • When trying to access data from the JobReqScreeningQuestion or the JobApplicationQuestionResponse entity using Integration Center or OData API, no data is returned.
  • If you filter by one specific job requisition ID or application ID, then data is returned.

Environment

SAP SuccessFactors Recruiting Management

Reproducing the Issue

  1. Navigate to Admin Centre > Integration Centre.
  2. Create a new output integration using the JobReqScreeningQuestion or JobApplicationQuestionResponse Entity and select all fields on the entity.
  3. In the preview records section, notice that no data is returned.
  4. In the Filter and Sort tab, add a filter for one specific job requisition ID or application ID, and notice that data is returned.

Cause

The Engineering Team have confirmed that this behaviour is expected.

The JobReqScreeningQuestion and JobApplicationQuestionResponse entity both work by only checking the first 1000 records it finds, not all records in the system. Since the first 1000 Job Requisitions or Job Applications do not contain any questions, the system returns "No data". However, when we filter by 1 job requisition ID or application ID, then the system will find and show this requisition.

The reason this occurs for this entity only is because this entity contains an internal dependency on the field jobReqContent, as shown in KBA 2793737, and so for performance reasons it has been limited to check only the first 1000 records.

Resolution

Internal Enhancement Request RCM-81533 has been raised to change this behaviour, so that the JobReqScreeningQuestion entity is not limited to the first 1000 records it finds. The Internal enhancement RCM-89251 has been created for JobApplicationQuestionResponse. Your CSM will be able to track and push this enhancement request for you.

For the time being while we await the enhancement, it will still be possible to obtain the question data by filtering for specific job requisition IDs, or by using Postman or other REST client to run the query in different batches of 1000 records, using pagination operators such as $count, $skip, and $top.

Workaround suggested to customers

These steps have to be carried on using POSTMAN only and it is not possible to execute these through Integration Center

*Adjust the API URLs for your DC

  1. First query the total number of Job Requisitions: you use this query https://apisalesdemo4.sapsf.com/odata/v2/odata/v2/JobRequisition/$count
  2. Then query for JobReqScreening Questions in batches of 1000,skipping 1000 every time until you reach $count of JobReqs i.e, say we have 3500 JobRequisitions in the system, you have to query these to get all the JobReqScreeningQuestion records
  3. https://apisalesdemo4.sapsf.com/odata/v2/odata/v2/JobReqScreeningQuestion?$select=jobReqId,locale,order,jobReqContent,questionId,questionName,questionType
  4. https://apisalesdemo4.sapsf.com/odata/v2/odata/v2/JobReqScreeningQuestion?$select=jobReqId,locale,order,jobReqContent,questionId,questionName,questionType&$skip=1000
  5. https://apisalesdemo4.sapsf.com/odata/v2/odata/v2/JobReqScreeningQuestion?$select=jobReqId,locale,order,jobReqContent,questionId,questionName,questionType&$skip=2000
  6. https://apisalesdemo4.sapsf.com/odata/v2/odata/v2/JobReqScreeningQuestion?$select=jobReqId,locale,order,jobReqContent,questionId,questionName,questionType&$skip=3000

To get the correct result, please query all the batches of 1000

See Also

KBA 2793737 - "When querying in the entity JobReqScreeningQuestion with $select operation I have no results - Recruiting Management"

Keywords

pre-screening, question, application, prescreening, requisition, center, RCM-81533 , JobReqScreeningQuestion , JobApplicationQuestionResponse , KBA , LOD-SF-RCM-API , Webservices & APIs , LOD-SF-RCM-INT , Integration Center & Intelligent Services , Problem

Product

SAP SuccessFactors Recruiting all versions