Person Model in PeopleSoft HCM
Person model in PeopleSoft is nothing but a way of organizing and storing person related demographic and organizational information in the PeopleSoft database.
There are three type of person (Organisational relationship) in PeopleSoft
- Employee (PER_ORG=EMP) – A person who is hired to provide services to the organization and has a legal employee relationship with the organization.
- Contigent Worker (PER_ORG=CWR)- A person who provides services to the organization and who does not have a legal employee relationship with the organization.
- Person of Interest (PER_ORG=POI) – A person who is neither an employee nor contingent worker but is of interest to the organization like external trainer, intern, pension payee etc. POI can be with or without job data.
When we add a person in HCM we capture two types of information about the person
- Biographical data- Name, address, contact, national id,marital status etc
- Organizational data-Job, Benefit program participation, earning distribution, Employment…etc.
When a person is added to organization (Navigation–Main -> Workforce Administration -> Personal Information -> Biographical -> Add a Person) , Biographical data is stored in below tables
Subsequently when organizational relationship is created for the same person (Navigations : Main -> Workforce Administration -> Job Information -> Add Employment Instance, Main -> Workforce Administration -> Job Information -> Add Contingent Worker Instance, Main -> Workforce Administration -> Job Information -> Add POI Instance ) , Organization data is stored in below tables
To understand the person model and how organizational data is stored in database we need to understand terms like
Consider an employee named “Aditya” is hired by XYZ technologies on 1 Jan 2017 , for this a HR user creates a JOB record for Aditya through the component “Add
Employment Instance” (Navigations: Main > Workforce Administration > Personal Information > Organizational Relationships > Add Employment Instance, Main > Workforce Administration > Job Information > Add Employment Instance) with the ACTION/ACTION_REASON = “HIR/HIR”
After this hire is done if we check the three tables PS_PER_ORG_INST, PS_PER_ORG_ASGN and PS_JOB,
- A new row with PER_ORG=EMP (indicating employee relationship) and ORG_INSTANCE_ERN=0 has been created in PS_PER_ORG_INST and PS_PER_ORG_ASSGN tables.
- EMPL_RCD field in PS_PER_ORG_ASSGN is also set to 0 as this is the first assignment.
- A new row is added in PS_JOB with EMPL_RCD=0 and action as HIR.
Now say after few month from 1 April 2017 “Aditya” is assigned a additional responsibility of training new hires and he has to allocate 30% of his time for the same for one month. For this the HR user add a new effective dated row on job data with action/action reason say “POS/UPD” and changes the std hours in primary job and then creates a new job record through the component “Add Additional Assignment” (Navigation:Main > Workforce Administration > Job Information > Add Additional Assignment)
Since this is only additional assignment and employee’s organizational relationship is not changed
- ORG_INSTANCE_ERN remains 0 and no new row is added in PS_PER_ORG_INST table.
- A new record with EMPL_RCD =1 is added in PS_PER_ORG_ASSGN table.
- Two new rows one to update std hours for EMPL_RCD=0 and action/action reason=”POS/UPD” and another with EMPL_RCD=1 for the new assignment is added in PS_JOB
Consider another scenario after few months “Aditya’ is loaned to other department as contigent worker from 1 Nov 2017.The HR user creates a contingent worker instance for him through the component “Add Contingent worker Instance” (Navigation: Main > Workforce Administration > Personal Information > Organizational Relationships > Add Contingent worker Instance, Main > Workforce Administration > Job Information > Add Contingent worker Instance)
- A new row with a new ORG_INSTANCE_ERN=2 and PER_ORG=”CWR” is added to both PS_PER_ORG_INST and PS_PER_ORG_ASSGN tables.
- EMPL_RCD field in PS_PER_ORG_ASSGN is also incremented and set to 2 in new row to indicate new assignment.
- A new row is added in PS_JOB, with new EMPL_RCD=2, PER_ORG=”CWR” and ACTION as “ADD”.
To summarize,
The record, PS_PER_ORG_INST holds the organizational instances for a person and its represented by the field ORG_INSTANCE_ERN.
The record, PS_PER_ORG_ASGN holds the assignments under a particular organizational instance for a person.
The record, PS_JOB holds the details on each assignment and day to day transactions done on that assignment for a person.