Querying a GET in JobApplication entity through OData API will pull all applications, including the Draft applications.
SAP SuccessFactors Recruiting Management
Reproducing the Issue
- Run an open GET query to fetch details from the applications on your instance using a sample query (https://instanceURL.com/odata/v2/JobApplication)
- As a result, there might be more number of applications than the ones present under your requisitions on your instance or Adhoc reports.
Product Management team has confirmed that this is an expected behavior while using the oData query that the draft application data will also be pulled along with the others.
This is the standard behavior since it is a broad functionality that involves the raw data transfer directly from the database.
The Draft applications are ones which are not available in the UI, the candidate has saved it but not applied/submitted the form. So, in tools like Adhoc Reports do not show the "draft" or incomplete applications that applicant saved without actually submitting for a requisition. Those applications are also invisible in Candidate Central as well.
At the moment the explicit filtering by status is the only way to exclude applications in the Draft status.
The intention behind this ability is to provide customers wide flexibility on what data they desire and allows customers to make the filtering decisions according to their business needs. OData is being used as a data extraction tool by some companies and it make sense to show draft applications for users like sfadmin (who has JobApplication export permission).
Filter job applications based on status filter. See the below example query to fetch all the applications whose status is not equal to 6 (6 corresponds to draft applications internal status code)
This is a sample query, and it will be required to adjust it with the instance API URL.
JobApplication API, JOB_APPLICATIONS_API, Draft, applications, OData API query , KBA , LOD-SF-RCM-API , Webservices & APIs , Problem