Oracle Human Resources Management System (HRMS) is a major component of the Oracle E-Business Suite of applications.
Simply put, It is an integrated suite of applications which supports every aspects of the HR function. There are several modules defined in Oracle HRMS eg Oracle Human Resources (HR),Oracle Payroll,Oracle Performance Management,Oracle iRecruitment,Oracle Time & Labor(OTL) etc.
In this post we will be looking at the HR module. I will be showing you the basic and foundation elements in the Oracle HR module back-end database you should be aware of.
This post will be of interest to IT Auditors, IT Control and General IT professionals
Oracle HRMS uses what is called Indicative data which is the basic information about a person and its employment data.
Indicative Data consist of:
- Personal
- Employment related
Below is a list of important backed HR table with their uses:
Please note that these tables are owned by the HR Schema
- per_all_people_f : This table stores person demographic data information for participants as well as dependents.
- per_all_assignments_f : This table stores employment data for employees, non-employees, and deemed participants.
- per_addresses : This table stores address information for participants and dependents.
- per_contact_relationships : This table is used to create a relationship from one person on PER_ALL_PEOPLE_F to another person on PER_ALL_PEOPLE_F. This table stores information regarding the nature of the relationship. For example, this table establishes that one person is the child of another person. This table can be used to track contacts other than dependents. For example, an employee’s neighbor could be tracked as the employee’s emergency contact. Fidelity plans to track only dependent contacts.
- per_periods_of_service : This table stores information related to an employee’s period of employment.
- per_person_type_usages_f : This table is used to track a person’s classification or classifications. This table is used to indicate the classification of the person from an HR perspective (i.e., Employee, Retiree, Surviving Spouse, Contact, etc.) and from a benefits perspective (Participant, Dependent, and/or Beneficiary).
- Check: What are Block Chain Oracle?
- ben_per_bnfts_bal_f : This table stores numeric amounts for employees that are used to calculate benefits costs and benefits eligibility.
The “_f” suffixed to some table above is an indication that the table is a DATE TRACKED table.Date Tracking is used to track the changes done every time on the data. This is achieved through data stored in the table columns like Effective_Start_Date and Effective_End_Date. Using these table and columns we can keep track of the records that are changed in the past
Below scenario is a flow of how data is inserted in the above mentioned tables:1. Mr Olutayo Oluwole joins a company
- Record created in per_all_people_f.
- Record created in per_person_type_usages_f with person_type set as employee.
- If address is given record is created in per_addresses.
- Assignment is created in per_all_assignments_f with assignment_type as ‘E’
- Record created in per_periods_of_service with the hire date
- Record created in ben_per_bnfts_bal_f specifying the salary that he gets.
2. Mr Olutayo Oluwole gets married
- Marital status updated in per_all_people_f.
- Record created in per_all_people_f for the dependent
- Record created for dependent is per_person_type_usages_f with person type set as Dependent
- Records created in per_contact_relationships specifying the type of relation.
3. Mr Olutayo Oluwole goes on a leave.
- Record created in per_absence_attendances
- Assignment updated in per_all_assignments_f and benefits assignment created in per_all_assignments_f.
4. Mr Olutayo Oluwole leaves the company
- Employee assignment is updated in per_all_assignments_f with status as Terminated.
- Person type usage of Employee is end dated and that of Ex-Employee is created in per_person_type_usages_f
- Record is created in per_periods_of_service storing the period for which the person was on this assignment.
Thanks for viewing this short post. I hope it has been educative for you.