Symptom
OData API for PaymentInformationDetailsV3 query returning all records including historical by default
Environment
Successfactors
Reproducing the Issue
You can do a generic query on PaymentInformationDetailsV3 with asofDate Odata filter
Cause
This will return all parent time slice records.
Resolution
The solution is to add a new parameter - filterParentDate=true, in the query
The current effective record is fetched, there is chance that the last modified date of that record does not match filter because we are checking modified date for all time slices.
Let us see the example of below time slices:
EffectiveStartDate LastModifiedDate
2017-06-05 2017-09-28T11:56:32Z
2017-09-21 2017-09-21T16:14:37Z
2017-09-26 2017-09-26T12:11:19Z <-- current effective record
With the restriction of current effective one, record with effective start date 2017-09-26 is returned.
If there is no filterParentDate parameter, all records of this worker is fetched.
A new custom option(filterParentDate) is introduced to filter. Without this option, the behavior remains same.
Example: /odata/v2/PaymentInformationDetailsV3?filterParentDate=true
Keywords
Odata API, Effective Dated Entity, asofDate, lastmodifieddate, PaymentInformationV3Details, Parent effective Date, filterParentDate=true , KBA , LOD-SF-INT-MDF , Metadata Framework API (MDF) , LOD-SF-INT , Integrations , LOD-SF-INT-API , API & Adhoc API Framework , Problem