This KBA explains how the filter conditions 'fromDate...toDate' and 'lastModifiedOn' when applied together in a CompoundEmployee API query, behave.
When querying the CompoundEmployee API with filter conditions 'fromDate...toDate' and 'lastModifiedOn' as follows:
SELECT person, address_information, email_information, employment_information,payment_information, compensation_information, paycompensation_recurring,
paycompensation_non_recurring, global_assignment_information, job_information, personal_information
WHERE fromDate = to_date('2017-08-01','YYYY-MM-DD') and
toDate = to_date('2017-08-31','YYYY-MM-DD')
AND last_modified_on > to_datetime('2017-08-01T00:00:01Z')
Below is how it behaves-
- Any/all data records effective in the date range specified in the fromDate/toDate clause i.e. 01-08-17 to 31-08-17 will be returned in the API response.
- Also any data modified after the date specified in the 'last_modified_on' parameter(i.e. 01-08-17) will be returned in API response.
Now there are a few exceptions to this that is some records may not meet both the above conditions but meet any one of the two, they will still be returned by the API in query response because they do meet at least one of the above two filter criterias.
- It is possible that some records returned in the query response meet only one of the two conditions i.e. say the record was effective in the range given above however it's last modified date was before (say 01-07-17), it will still be returned in the API response as it does meet the fromDate/toDate filter criteria.
- Similarly if a record is effective starting 01-07-17, but was last modified on 02-08-17, this will also be returned in the API response.