Symptom
By design, Integration Center is unable to return all records from a one-to-many relationship. It will always return just one record of the navigation entity.
A workaround is available, that is, creating an XML output file to query all records of one-to-many associations in Integration Center.
However, in jobReqiusition to JobRequisitionOperator to userNav association, even XML output file returns just one record during full-load query. On the other hand, when pulling data of specific Job Requisition ID, all records are populating to the XML output file.
Environment
SAP SuccessFactors Recruiting Management
Reproducing the Issue
- Follow KBA 3082922 to create an XML output file to query all records of one-to-many associations in Integration Center
- Start the Integration Center from jobRequisition entity
- Include one-to-many association by adding JobRequisitionOperator (e.g. recruiterTeam)
- Then add another association to pull email from userNav navigation entity
- Run the job and check the XML file
- Notice that for every job requisition, only one user of recruiterTeam is pulled and one email
- Add a filter so that the job will pull data from specific Job Requisition ID, then run the job
- Notice that the XML file includes all user of recruiterTeam and their email
Cause
Product Managers confirmed this behavior is a known limitation of Integration Center when handling one-to-many associations during full-load queries. It occurs due to the way Integration Center processes OData navigations in batch executions compared to single-record queries.
Resolution
If there's a need to extract all recruiterTeam email addresses per job requisition, use jobRequisitionOperator as the root object instead of jobRequisition in the Integration Center configuration.
See Also
Keywords
integration center, jobRequisitionOperator, full-load processing, recruiter email, one-to-many associations, recruiterTeam , KBA , LOD-SF-RCM-INT , Integration Center & Intelligent Services , Problem
SAP Knowledge Base Article - Public