Basics of Core HRMS in Oracle Apps Part5

Basics of Core HRMS in Oracle Apps

Date Tracking

Functional aspects of date tracking have been explained before.
Date tracking enables to restore history after any changes have been done. Not all data in HRMS is date tracked. Technically, the tables ending with a ‘_f’ store the date tracked information. The primary key for such table comprises of an id field (e.g. person_id in per_all_people_f), effective_start_date and effective_end_date.
A condition needs to be put in every query to check for the effective start date and effective end date in order to fetch a single record.

Different Date track modes while updating the data are as follows:

Consider a small example. An assignment has start date 1-Jan-2001 and no effective end date (End of time 31-Dec-4712). The record is being viewed on 1-Jan-2005 from the application. Some changes are done to this assignment and these need to be saved. The system gives two options, Correction and Update

Correct
If Correction is selected, the current record with effective start date 1-Jan-2001 is updated with the new changes. i.e. there remains just one record after Correction is done.

Update
If Update is selected, a new record is created from 1-Jan-2005 till 31-Dec-4712 with the latest changes that are done. The existing record is end dated on 31-Dec-2004 and has the previous details. Thus, a history record is created that has the historical data.
If a record is updated on the same day when it was created and Update mode is selected, the mode is automatically changes to Correction.

Future Dated Changes
Consider the above assignment.
There are two records:
Start Date --> End Date
1-Jan-2001  31-Dec-2004
1-Jan-2005  31-Dec-4712

Effective date is set to 1-Jan-2004, displaying the first assignment record. Some changes are done and saved. Now, as of 1-Jan-2004, future dated change exists, which will become effective from 1-Jan-2005.

In such cases the system prompts for two options when the changes are saved:
Insert and Replace.

Insert
This will insert a new record before the next scheduled change. The change in future will be effective as of the start date of the change.
i.e. the new assignment records will be:

Start Date --> End Date
1-Jan-2001 -->31-Dec-2003
1-Jan-2004 --> 31-Dec-2004
1-Jan-2005 --> 31-Dec-4712

Replace
This option will replace the next future change with the current change. The future change will not exist anymore. i.e. the new assignment records will be:

Start Date --> End Date
1-Jan-2001 --> 31-Dec-2003
1-Jan-2004 --> 31-Dec-4712

Date Track Delete
When any date tracked data needs to be deleted, following options are available:

End Date
The record will be end dated and will not be visible on the screen after the end date.

Purge
The record will be totally removed from the database

In case of future dated records existing, following options are available:

All
All future updates are removed.

Next
Next applicable change is deleted. End date of the current record is set to the end date of the next change.



*/