Wednesday, March 19, 2014

PeopleSoft Set Control Field

PeopleSoft Set Control Field Overview

As the name suggests “The field which controls the access of data sets (Record Sets) in various control tables (DEPT_TBL, LOCATION, JOBCODE_TBL, SAL_ADMIN_PLAN etc…)” is known as Set Control Field.
“Data Set or Record Set” is nothing but a set of data rows which is identified by a key (SetID) in control table as shown below (Snapshot below is of department table DEPT_TBL): 


In the example shown above, there are four data sets (Record Sets) grouped by the keys in the department table - SHARE, X00, Y00, Z00

Set Control Fields in PeopleSoft


As far as I know, there are three set control fields in PeopleSoft:
·         BUSINESS_UNIT
·         COMPANY
·         REG_REGION
Let’s do a little digging to understand it more.
Please note that, whenever we create a new Business Unit or Company or Regulatory Region then a new TableSet Control is automatically created for this new set control field value. Let’s check this out with an example:
Open the “Business Unit” component (Navigation: Main > SetUp HRMS > Foundation Tables > Organization > Business Unit)
Add a new business unit “TEST” 


As we see, the Set ID is automatically defaulted and it’s same as Business Unit code. When we save it without replacing with a new Set ID, a Set ID “TEST” is also created, however in this example we will replace it with a new Set ID.
Please click on prompt button and select one of the existing Set IDs, in this case “X00”, and then save.


What does it really mean i.e. when we assigned a set ID in the area highlighted above?
Well, It means as its name “Default Record Group Set IDs” suggests  – By default, the Business Unit “TEST” will have access to the data sets (Record sets) which are keyed (Grouped) by Set ID “X00” in various control tables which are already grouped in their corresponding Record Groups.
What does it really mean i.e. when we assigned a set ID in the area highlighted above?
Here is how the Business Unit “TEST” will have access to data set keyed by “X00” in the department table DEPT_TBL: 

 
Let’s check out how is it possible.
As stated earlier, when we created the Business Unit “TEST” a Table Set Control is automatically created for the set control field value "TEST". Open this Table Set Control (Navigation:  Main > PeopleTools > Utilities > Administration > TableSet Control)

 As we see, for the Business Unit “TEST” (Set Control Field Value), the Set ID “X00” has been defaulted in all the record groups. Since the department table DEPT_TBL along with other similar tables, exists in the record group “HR01” hence, the Business Unit “TEST” will have access to data set keyed by Set ID “X00” in all these tables.

Please also see
PeopleSoft Set Control Field Concept and Tableset Sharing
Understanding Dynamic prompts in PeopleSoft
Implementing parallel processing using Application Engine in PeopleSoft
PeopleSoft 9.1 Person Model
Adding and Maintaining Person Of Interest in PeopleSoft
Peoplesoft Row Level Security Search Records
SQL Query for Max Effective (MAX (EFFDT) dated row from JOB table
SQL Query to find all the Direct Reports for a Manager
Business Unit, Company and Regulatory Region in PeopleSoft

In other words, TableSet Control is a mechanism which controls access of Business Unit on Data Sets in various control tables through Set ID, and this mechanism is automatically created each time we create a new Business Unit.
Let’s see how this mechanism controls the access: 



It’s important to note that, the access given to the Business Unit “TEST” on data set keyed by the Set ID “X00” in department table (or any other table for that matter) is by default and is based on the SetID we mentioned in the section “Default Record Group Set ID” in Business Unit definition component.
However, we can change this default access i.e. instead of data set (Record Set) keyed by “X00”, The Business Unit “TEST” will have access to data set keyed by Set ID “SHARE”. And this can simply be done by replacing the Set ID “X00” with “SHARE” for the Record Group “HR_01” in TableSet control definition. 






Please also note that, the example taken above was for the Set Control Field “BUSINESS_UNIT” and everything explained above happen the same way when we create a new Company or Regulatory Region.


Want to learn PeopleSoft Core HR module thoroughly? I have several videos with total duration of 12 hours.


Following is the link to the YouTube videos Core HR
Click here to see course contents

Click here to know how it works

However, if you want to save money by purchasing whole module instead of in parts then visit this page to get more details PeopleSoft Functional and technical online training

Tuesday, March 11, 2014

Adding and Maintaining Person Of Interest in PeopleSoft

 A Person of Interest (POI) is someone who doesn’t provide any service to the organization in any form but is of interest to the organization. There many cases in which we create POIs for example - my organization facilitates internship program for the students coming from various colleges for few months and they are treated as POI so their POI record is created. The reason they are treated as POI because during internship organization might or might not be interested in absorbing such interns as full time employees but still they are of interest to the organization.

Types of POIs in PeopleSoft:


  Broadly, there are two types of POIs:

1)      POI which require a JOB record

·         COBRA qualified beneficiaries
·         Pension Payees
·         Other Payees
·         Student refunds
·         Stock - board members

2)      POI which doesn’t require a JOB record

·         External trainee
·         External instructor
·         Non-paid intern

Let’s now try to understand how POI is created and its relationship with the organization is maintained in the organization.

As stated earlier also, a person can be added to the organization using “Add a Person” component (Navigation: Main -> Workforce Administration -> Personal Information -> Biographical -> Add a Person) and the added person is always a POI by default.

Please also see

Please also note that, if we don’t select a POI type while adding a person then by default the person is created with POI type as “Unknown” and later on we can create a POI type relationship which is explained in following sections.

We will understand these facts by adding a person to the organization as explained below:

Creating a POI relationship with or without JOB record


Step 1: Open the “Add a Person” component (Navigation: Main -> Workforce Administration -> Personal Information -> Biographical -> Add a Person)

Fill in all the required details, Please note that in the “Region” tab you have to enter region specific info based on the country selected in “Biographical Details” tab.

Step 2: Once Biographical/Contact/Region details are supplied, go to the tab “Organization Relationship”


Now, it depends on the requirement whether the person being added should have a JOB record (Organization instance of POI type) or shouldn’t have a JOB record.

Case 1: If it should have a JOB record (Organization instance of POI type) then:

 

Step 3: Select the check box “Person of Interest” and select a POI type which requires a JOB record (Choose as appropriate)






You would probably have noticed that when you select a POI type from drop down list box, which does requires a JOB record, the field “Empl Record” also becomes available where JOB record number needs to be supplied.

To check whether a particular POI type requires a JOB record please go to Set Up HRMS -> Foundation Table -> Organization -> Person of Interest Types for more details.
   




Step 4: Click on the “Add Relationship” button which will take you to the component “Add POI Instance”

Alternatively, we can also add a POI instance from the path – Main ->Workforce   Administration -> Job Information -> Add POI Instance or  Main ->Workforce Administration -> Personal Information -> Organizational Relationships -> Add POI Instance, in case you decide to add a POI who doesn’t require a JOB record at first and later you want to add POI instance for it. 

So, the bottom-line is that the same component “Add POI Instance” is opened from all these three navigation.

Step 5: Fill in all organizational details in the tabs – “Work Location”, “Job Information”, “Payroll” etc… and then click save.

Once you complete Step 5, the organizational instance for the organizational relationship POI (PER_ORG = ‘POI’) has been created.


Case 2: If it doesn’t need to have a JOB record (Organization instance for PER_ORG = “POI”) then:


Step 3: Select the check box “Person of Interest” and select a POI type which doesn’t requires a JOB record (Choose as appropriate)    


Step 4: Click on Save as in this case we don’t have to click on “Add Relationship” button. The person is added as POI who doesn’t require a JOB record.

     
However, even if you don’t select anything in this page and click on save, Person is added   with POI type “Unknown” and later on you can create a POI type for this person from Main -> Workforce Administration -> Personal Information -> Organizational relationships -> Add a POI relationship.

So, we have finally created a POI but are we done yet ?
No, we have to also look at the security aspect of POI as to how POI data is secured in PeopleSoft.
For this visit following article - POI Security in PeopleSoft

Please also see 

Want to learn PeopleSoft Core HR module thoroughly? I have several videos with total duration of 12 hours.


Following is the link to the YouTube videos Core HR
Click here to see course contents

Click here to know how it works

However, if you want to save money by purchasing whole module instead of in parts then visit this page to get more details PeopleSoft Functional and technical online training

Tuesday, February 25, 2014

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.


Please also see

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 the ACTION/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: 



Few months later effective from 01-OCT-2013, one additional task is assigned to him where he has to train new hires by dedicating about 40% of his total working hours. This additional assignment is just for a month.

Please also see 

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.



Please also see



Want to learn PeopleSoft Core HR module thoroughly? I have several videos with total duration of 12 hours.


Following is the link to the YouTube videos Core HR
Click here to see course contents

Click here to know how it works

However, if you want to save money by purchasing whole module instead of in parts then visit this page to get more details PeopleSoft Functional and technical online training