Thursday, January 8, 2015

PeopleSoft 9.1 Person Model

PeopleSoft 9.1 Person Model


Further to my earlier posts, today we will understand the person model in PeopleSoft 9.1. For a while even I was not sure what does this term "Person Model" exactly means but after little bit of R&D I got it clear and surprisingly it’s far simpler than what I thought.

Person model in PeopleSoft is nothing but a way of organizing and storing person related demographic and organizational information in the PeopleSoft database when we add a person to the organization and subsequently create the organizational relationship for.

Types of Person in PeopleSoft


There are three types of persons (Organizational relationship) can be created in PeopleSoft:

1.    Employee (PER_ORG = EMP)

A person who is hired to provide services to the organization and has a legal employee relationship with the organization.

2.    Contingent Worker (PER_ORG = CWR)

A person who provides services to the organization and who does not have a legal employee relationship with the organization.

3.    Person Of Interest (PER_ORG = POI)

A person who is neither an employee nor contingent worker but is of interest to the organization.

We will understand each one of these relationships in detail in following sections but for Now, let’s understand in a very high level how is the data stored in PeopleSoft database when any of the above persons is created.

There are broadly two categories of information’s with respect to a Person/Employee in PeopleSoft:
a.   Biographical data
b.   Organizational data

Biographical data - Name, Address, Contact, National ID, Smoker status...etc.

Below is the PeopleSoft database structure to store the Biographical information when a person is added to the organization (Navigation: Main -> Workforce Administration -> Personal Information -> Biographical -> Add a Person)



Subsequently, When an organizational relationship is created for the same person, Below is the PeopleSoft database structure to store the organizational information (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 ):


  

Organizational Data - Job, Benefit program participation, earning distribution, Employment...etc.

Well, this topic doesn't end here and we need to understand the concept of Organizational relationships, Employment record number and multiple jobs which is also part of Person Model and it's all explained in other sections. 

Since we are talking about Person model so it becomes very important that we first understand below terms because we often get confused as which one represents what:

·         Organizational Relationship (PER_ORG)
·         Organizational Instance (ORG_INSTANCE_ERN)
·         Job Assignment or Employment Record  (EMPL_RCD)

  Let’s understand each one of them:

Organizational Relationship in PeopleSoft


It tells what relationship a person has with organization i.e. Employee, Contractor (Contingent worker) or Person of interest (POI). It’s represented by the field PER_ORG which exists in records PS_PER_ORG_INST, PS_PER_ORG_ASGN and JOB.

Organizational Instance in PeopleSoft


It represents the substantive or primary job created for an employee in the organization. 
There are three types of organizational instances we can create in PeopleSoft:
1.    Employment Instance
2.    Contingent Worker Instance
3.    POI Instance
In other words, after adding a person with biographical details through “Add a Person” component (for more details on how to add a person please visit the page Adding and Maintaining Person Of Interest in PeopleSoft) when we further add an organizational relationship which in-tern creates an organizational instance and job assignment from below components:
·         Add Employment Instance (with ACTION = HIR)
(Navigations: Main > Workforce Administration > Personal Information > Organizational Relationships > Add Employment Instance, Main > Workforce Administration > Job Information > Add Employment Instance)         

·         Add Contingent worker Instance (with ACTION = ADD)
(Navigations: Main > Workforce Administration > Personal Information > Organizational Relationships > Add Contingent worker Instance, Main > Workforce Administration > Job Information > Add Contingent worker Instance)

·         Add POI Instance (with ACTION = POI)
(Navigations: Main > Workforce Administration > Personal Information > Organizational Relationships > Add POI Instance)


So, when we do transaction from either of above components it creates an organizational instance and is represented by the field ORG_INSTANCE_ERN which is a key field in the record PS_PER_ORG_INST.

Job Assignment or Employment Record in PeopleSoft


When we create an organizational instance, we also create an assignment or employment record under that organizational instance. Every new assignment is identified by EMPL_RCD field which exists in PS_PER_ORG_ASGN and PS_JOB tables.

Every new assignment is created from below components:

·         Add a Host Assignment
(Navigations: Main > Workforce Administration > Global Assignments > Track Assignment > Add a Host Assignment)
·         Add Additional Assignment
(Navigations: Main > Workforce Administration > Job Information > Add Additional Assignment)

A Person with multiple jobs in PeopleSoft


Well, I guess whatever explained so far might not be so clear to you guys so let’s understand this concept with a live scenario.

“Nick Shrader” is a potential new hire for the firm XYZ technologies in its “AUS01” business unit hence they add him as a POI of type “AUS – Non paid Intern” for the internship effective from 01-JAN-2013.
See how he is added in the organization, here - Adding and Maintaining Person Of Interest in PeopleSoft

He is added in the organization with no JOB record because XYZ technologies in this internship program don’t pay anything to the POIs.

After completion of 6 months internship program, XYZ technologies decides to hire Nick Shrader, hence one of the HR users who belongs to the business unit “AUS01” creates a JOB record for Nick Shrader 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 theACTION/ACTION_REASON = “HIR/NHR”

Once HR user done with this step, this is how Nick Shrader’s employment data will look like:
(Navigations: Main > Workforce Administration > Job Information > Job Data, then click on Employment Data link at the bottom) 

  

One better place to look how this assignment (EMPL_RCD = 0) has been created under organizational instance (ORG_INSTANCE_ERN = 0) for organizational relationship employee (PER_ORG = “EMP”).  




Let’s also see how the three tables PS_PER_ORG_INST, PS_PER_ORG_ASGN and PS_JOB are populated when we do a hire: 



How to find the List of Users Assigned to a Role
Business Unit, Company and Regulatory Region in PeopleSoft
Process Security in PeopleSoft 

For this, HR administrator has to create a new JOB record effective from 01-OCT-2013 however, before that the standard hours in his primary job (created earlier) have to be changed to 60% effective from 01-OCT-2013 since remaining 40% will be used for additional assignment, and the same is done from job data component.
Then after, the HR admin creates a new job record through the component “Add Additional Assignment” (Navigation: Main > Workforce Administration > Job Information > Add Additional Assignment)

Let’s again see how this assignment (EMPL_RCD = 1) has been created under organizational instance (ORG_INSTANCE_ERN = 0) for organizational relationship employee (PER_ORG = “EMP”).  



Let’s also see how the three tables PS_PER_ORG_INST, PS_PER_ORG_ASGN and PS_JOB are populated:


Shortly after completing his additional assignment, Nick Shrader is given the opportunity to participate in a short term project effective from 01-NOV-2013. The human resources administrator 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)

 Let’s again see how this assignment (EMPL_RCD = 2) has been created under organizational instance (ORG_INSTANCE_ERN = 2) for organizational relationship contingent worker (PER_ORG = “CWR”).
When we open this component this time, we will find that one more row has been added for the new organizational instance hence we need to navigate to that.

Navigate to the Organizational Instance “2”  



Let’s also see how the three tables PS_PER_ORG_INST, PS_PER_ORG_ASGN and PS_JOB are populated:  


After four months, his short term project ends effective 01-FEB-2014 and on the same day he gets promotion as well.
But, again little after a month, Nick Shrader is again given the opportunity to participate in a short term project effective from 01-MAR-2014. The human resources administrator creates a contingent worker instance for him through the component “Add Contingent worker Instance”.

Let’s again see how this assignment (EMPL_RCD = 3) has been created under organizational instance (ORG_INSTANCE_ERN = 3) for organizational relationship contingent worker (PER_ORG = “CWR”).
When we open this component this time, we will find that one more row has been added for the new organizational instance hence we need to navigate to that.

Navigate to the Organizational Instance “3”  

  

Let’s also see how the three tables PS_PER_ORG_INST, PS_PER_ORG_ASGN and PS_JOB are populated: 


  
Let’s have a visual as to understand how the sequence of events occurred and as a result of which how the various entities got affected: 



 
Also see below, the historical job records (Assignments) and the transactions done on them through JOB data component accumulate under the organizational instance in which they are created.  




We should also see how it looks like in database: 



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.

No comments:

Post a Comment