SAP Knowledge Base Article - Public

2430737 - Unexpected results when using "Modified Since Query Mode" in Time-Based Filters while navigating to other entities - Integration Center

Symptom

Your Integration Center job is selecting fields from other entities and records that don't fulfill the filter criteria under Filter and Sort > Time-Based Filters > Modified Since Query Mode are being returned.

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

Reproducing the Issue

  1. Create an Integration Center job;
  2. In Configure Fields, add fields from other entities;
  3. Go to Filter and Sort tab;
  4. Add a Modified Since Query Mode filter under Time-Based Filters;
  5. See unexpected records being returned;

See the example below:

''

Per the above filter criteria, you are expecting records modified since the last run time which was 01/01/2023 but some records that doesn't fulfill the filter criteria are showing up:

''

Cause

This is an expected behaviour when you are using fields from other entities which are not from the starting one under Configure Fields tab.

 

Explanation:

Just recap, the Modified Since Query Mode filter has two options:

  • Modified Since: Return only records with fields that have been modified since the date and time specified;
  • Modified or Effective Since: As above, but also include records that have become effective since the specified date;

The main point here is this filter consider both Starting entity and Navigated entities records.

 

Continuing our example:

Note the Business Phone field from User entity is being used there, so the filter logic is:

filter = records from Starting entity (EmpJob) modified since > last run time
OR  records from Navigated entity (User) modified since > last run time

Equivalent OData API logic:

filter = EmpJob/lastModifiedDateTime ge datetimeoffset'2023-01-01T12:00:00.000Z'
OR  User/lastModifiedDateTime ge datetimeoffset'2023-01-01T12:00:00.000Z'

An easy way to validate it is including the lastModifiedDateTime field from the Navigated entity (User) under Configure Fields tab:

''

Then we can see that even some Job Information records showing up weren't modified since the last run time (01/01/2023), the corresponding User records were.

Please note that this logic will be applied to all navigated entities included in the integration.

OBS1: When the navigation involves more than one entity, the filters will be applied for the end entity. Example: Job Information (considered) > Employment Details (not considered) > User(considered).

OBS2: For one-to-many navigations, if any of the record is modified, it will be considered. But please note, from the navigated entity, it's not guaranteed to pick the modified record out of the many records (refer to KBA 3087941).

Resolution

If you want Modified Since Query Mode filter applies to the Starting entity (or any other entity) only, you should use Advanced Filters as the example below:

''

See Also

Keywords

incorrect, wrong, different, data, result, record, records, modified, modify, updated, navigation, navigating, expand, filter, IC , KBA , LOD-SF-INT-INC-FWK , Integration Center UI Framework , LOD-SF-INT , Integrations , Problem

Product

SAP SuccessFactors HCM Suite all versions