SAP Knowledge Base Article - Public

2965443 - Fields from future records (records with a start date in the future) are blank - SuccessFactors Integration Center

Symptom

  • You've set up an outbound integration which retrieves employee information from multiple entities such as EmpEmployment, PerPerson, EmpJob, PerPersonal, etc.
  • You're using the 'Effective from' and/or 'Effective to' time-based filters to retrieve future dated records;
  • For most employees all information is retrieved, but for future hires some fields are blank.

In this example, EmpJob is the integration's starting entity and we have some fields associated to the PerPersonal entity which are blank for future hires:

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 HXM Suite
    • Integration Center

Cause

The fields which are blank have a navigation path which doesn't allow future records to be queried, even if you're using the 'Effective from' and/or 'Effective to' time-based filter.

Integration Center uses OData API to retrieve records from the database and the navigation behavior is explained in this page from the SF OData API developer guide:

How effective-dating is handled in an OData API query

The following rules are followed when an effective dated entity is queried:
  1. If both the base entity and the navigation entity are effective-dated, then when expanding the navigation entity, the effectiveStartDate of the base entity is used as the asOfDate of the navigation entity.
  2. If the base entity is none effective-dated, TODAY is used as asOfDate when expanding the navigation entity.
  3. For a Picklist field, the navigation entity is PicklistValue. When expanding a Picklist field, the effectiveStartDate/effectiveEndDate of the Picklist entity are used because PicklistValue itself is not effective-dated.
  4. If you specify asOfDate as a query option, all entities in all levels of the query use this date as asOfDate.
  5. If you specify fromDate and toDate as query options, then only the top level entity is filtered by the fromDate and toDate, all lower level entities follow rules 1, 2, and 3.
  6. You can use either AsOfDate or fromDate/endDate in a query request, not both.

Taking the example mentioned in the 'Symptom' section above:

  1. The navigation path from EmpJob to PerPersonal is EmpJob (effective-dated) -> EmpEmployment (not effective-dated) -> PerPerson (not effective-dated) -> PerPersonal (effective-dated)
  2. Since you are navigating from a non-effective-dated entity to an effective-dated one, the implicit parameter used is asOfDate=<TODAY>, which means only currently effective records will be retrieved and future dated ones will be disconsidered.

Resolution

The described behavior is expected. You must look for a way to adapt your integration. Here are some suggestions to take in consideration:

  1. See if the fields subject to this behavior are available on a non-effective-dated entity such as User and retrieve the values from that entity instead;
  2. Rebuild the integration adopting another starting entity, taking this behavior in consideration (see 2761576 - Integration Center: Choosing Starting Entity);

Keywords

person, job, information, personal, not retrieved, null, possible, showing, shown, being, interface, job, ic, error, problem, name , KBA , LOD-SF-INT-INC , Integration Center , LOD-SF-INT , Integrations , Problem

Product

SAP SuccessFactors HCM suite all versions