Date effective entries could be back-dated, current or future-dated depending on their effective dates range. If you are using Atom feeds to build your integration, you would need to make design level considerations based on your interface requirements.
Each Atom entry has the published and updated date properties. Use these date properties to get the desired effective dated entries. Also, effective start date is available in the Atom feed content EffectiveDate attribute.
- Updated Date
- Future-dated events have the Updated date attribute set to the effective start date
- Past-dates events have the Updated date attribute set to when the action was performed (past effective date will be still available in the entry payload)
- By default, no entries with Updated date past the current date are returned.
- Published Date
- Date when transaction was performed
The entry appears in the feed when one of the following conditions is met:
- Effective date is reached.
- The updated-max parameter that’s provided is past the effective date.
- Either published-min or published-max parameter is used and entry’s published date matches the given dates range.
Based on your interface requirements you could use either of the properties to fetch the required data. To process all the appearing entries, periodical polling can be applied.
- Using updated-min parameter – Set this to the last processed entry’s updated date. This way all the entries published since the previous call till the current date will be returned
- Using the updated-min and updated-max request parameters, the exact range can be also specified. The lower bound (updated-min) is exclusive, whereas the upper bound (updated-max) is inclusive
- Using published-min or published-max parameter you can retrieve future dated records as well
Here is an example to understand this better. For the following transactions on employee Heather Dolech – on April 16 2021
- Dept Change on Apr 1 2021 (Back dated)
- Promote on Apr 20 2021 (Future dated)
Atom feeds to get the assignment updates, assuming the last run was done on April 15 2021.
1. You want to get all current and back dated transactions since last run. You do not want to include future transactions
- Using Updated Min – to get retro and current transactions – using Updated min = 04/15 (set to last date time the process was run). This will include all current and back dated transactions since 04/15
- This will include only the Dept change on Apr 1 2021 for Heather Dolech
- https://xxxx.fa.xxx.oraclecloud.com/hcmCoreApi/atomservlet/employee/empassignment?updated-min=2021-04-15T00:00:00.000Z&orderBy=published:desc
2. You want to get all transactions entered since last run. You want to include future transactions 15 days since last run
- Using Updated max – to get future transactions in next 15 days – using Updated min = 04/15 and Updated max = 04/30 (has to cover the effective date of future transaction)
- This will include both the Dept change on Apr 1 2021 and Promote on Apr 20 2021 for Heather Dolech
- https://xxxx.fa.xxx.oraclecloud.com/hcmCoreApi/atomservlet/employee/empassignment?updated-min=2021-04-15T00:00:00.000Z&updated-max=2021-04-30T24:00:00.000Z&orderBy=published:desc
3. You want to get all transactions published today i.e. on 04/16 –
- Using Published min = date of last run and Published max = today’s date. This will give both retro and future transaction
- This will include both the Dept change on Apr 1 2021 and Promote on Apr 20 2021 for Heather Dolech
- https://xxxx.fa.xxx.oraclecloud.com/hcmCoreApi/atomservlet/employee/empassignment?published-min=2021-04-15T00:00:00.000Z&published-max=2021-04-16T24:00:00.000Z&orderBy=published:desc&page-size=4000
Here is an useful query to check the atom entries created on a certain date –
select *
from fusion.HRC_ATOMPUB_ENTRIES
where LAST_UPDATE_DATE BETWEEN To_Date(‘2021-04-15’, ‘YYYY-MM-DD’) AND To_Date(‘2021-04-16’, ‘YYYY-MM-DD’)
Note: This blog post has been created for Oracle Cloud HCM Release 21A.