Thursday, February 19, 2015

Peoplesoft Row Level Security Search Records

PeopleSoft Row Level Security Search Records

If an organization we are working with is using PeopleSoft as it's ERP solution then depending upon what role we play we do online transactions through various components in PeopleSoft. For example, HR users usually work in Production environment hence use components under Workforce Administration, Organizational Development, Workforce Development, Benefits etc… in order to carry out their daily business.
A Consultant (Technical or Functional) however will mostly works in Non-Production environment hence the components under the menus – Workforce Administration, Set Up HRMS, PeopleTools etc… are the ones where they visits most often to do transactions as required. A consultant at times needs to play various roles in order to expedite certain tasks part of theirassignment. For example: 
  • Resolving a production issue by simulating it into Non Prod environment
  • Validating a test scenario which is part of implementation
  • Fig-Gap analysis
If we just forget about the role that one plays and list out few most common components a user deals with to carry out various transactions then the list will contain:
Transactions on Job data

·       JOB_DATA (Navigation: Main > Workforce Administration > Job Information > Job Data)

·         JOB_DATA_CURRENT (Navigation: Main > Workforce Administration > Job Information > Current Job)

·         ADD_PER_ORG_ASGN (Navigation: Main > Workforce Administration > Job Information > Add Additional Assignment)

·         ADD_HOST_ASSIGN (Navigation: Main > Workforce Administration > Global Assignments > Track Assignment > Add a Host Assignment)

Etc…


Transactions on Personal data

·         PERSONAL_DATA (Navigation: Main > Workforce Administration >Personal Information > Modify a Person)

·         DEPEND_BENEF (Navigation: Main > Workforce Administration >Personal Information > Personal Relationships >Dependent Information)

·         EMERGENCY_CONTACT (Navigation: Main > Workforce Administration >Personal Information > Personal Relationships > Emergency Contact)

·         DISABILITY (Navigation: Main > Workforce Administration >Personal Information > Disabilities)

Etc…


Hold on.. Why am I explaining all this when our topic here is “Row Level Security Search Records in PeopleSoft”?
Well, because all the components mentioned above, use security views as their search record and that is to ensure that a particular user who is doing transactions through these components, can see only those employees that they are allowed to see.I would like to list down those security views along with the components where they are used as search record:

   Components for Job data transactions

·         Job Data (JOB_DATA)  - EMPLMT_SRCH_GBL

·         Current Job (JOB_DATA_CURRENT ) - EMPLMT_SRCH_COR

·         Add Additional Assignment (ADD_PER_ORG_ASGN ) - PERS_SRCH_GBL

·         Add a Host Assignment (ADD_HOST_ASSIGN ) - PERS_SRCH_GBL

            Etc…

   Components for Personal data transactions

·         Modify a Person (PERSONAL_DATA)  - PERS_SRCH_ALL 

·         Dependent Information (DEPEND_BENEF) - PERS_SRCH_GBL

·         Emergency Contact (EMERGENCY_CONTACT) - PERS_SRCH_ALL

·         Disabilities(DISABILITY) - PERS_SRCH_ALL

            Etc…

As you can see, there are various security views created and are used in these components. Based on the component requirement, some of these views search for the employee data rows by EMPLID and EMPL_RCD and others just by the EMPLID.
For example, The view EMPLMT_SRCH_GBL used in Job data component considers EMPL_RCD field while searching the data row when a user hits on the “Search” button in the component search page whereas the view PERS_SRCH_ALL used in Personal Data component doesn’t consider EMPL_RCD filed while searching the data rows.
One easy way to find out the search record for a component, Just open the menu definition under which the component exists, in the Application Designer and locate your component, then right click on it and open the “Menu Item Properties”. Check what the search record for the component is and whether it has been overridden.

So, when the so called “Row Level Security Search Records” come in picture and how they secure the data from a user (HR Admin, Consultant etc…). This is also called Row Level Security in PeopleSoft.

Securing Data rows using Security Search Records (Row Level Security in PeopleSoft)



Let’s take any one of the component mentioned earlier. A new employee “ST01ST20” has been hired in the organization but when HR tries to open their job data through JOB_DATA component:

 

Oops..!  looks like employee doesn’t exist.

Is that what it looks like?  No, instead the HR user is not able to see the newly hired employee because they don't have access to them and this restricted access has been enforced with the use of the row level security view EMPLMT_SRCH_GBLas search record in this component. 

So let’s find out what exactly happens behind the scene and how the security search view works to ensure the unintended employee data shouldn’t be displayed to HR user.

   In the search page, when we enter the EMPLID ‘ST01ST20’ and hit enter:

     


   Hope everything is clear so far and if it is then let’s give data access to the HR user so that they can see the data rows of employee ST01ST20. There are various different ways such access can be given and for now we will just add business unit “AUS01” to the Permission list TEST_PERMSN (Navigation: Main > Set Up HRMS > Security > Core Row Level Security > Security By Permission list).  

  Note that, this access can also be given through “Security by Dept Tree” component    which exists under the same menu. In this method, the HR users are given access to the intended department defined in a Department tree where a particular employee belongs.
After the access is given to HR user let’s see what happens: 


Tuesday, February 17, 2015

Tracing PeopleSoft Application Engine

Tracing Peoplesoft App Engine
Application Engine are PeopleSoft’s way to tie SQL and PeopleCode into a powerful processing engine which can run synchronously as well as in batch mode. App Engines are well structured and easy to debug. In this post will see how TRACE an App Engine program. We will see how to debug an App Engine separately.
As tracing brings significant overhead, by default, tracing is turned off. You will have to enable it using one of the methods below depending on the specific scenario. Simultaneously using more than one of these may produce misleading results.

Process Scheduler

One of the most common way of tracing an App Engine is by setting the TRACE at the Process Scheduler. To do this, we need to open the process definition for the App engine in question and navigate to the Override Options tab. Select ‘Append’ in the Parameter List dropdown and fill in the Parameters field with the below command.
-TRACE 135 -TOOLSTRACEPC 1984 -TOOLSTRACESQL 31
This tool can help you analyze your trace files: PeopleSoft Trace Magic
Based on your requirement, you can use the below values for tracing. To specify a combination of traces, use the sum of the corresponding trace values. Say, to enable the first four options all at once, you would use the sum of 1, 2, 4 and 128 ie; 135
ValueDescription
0Disables tracing.
1Initiates the Application Engine step trace.
2Initiates the Application Engine SQL trace.
4Initiates the trace for dedicated temporary table allocation to an Application Engine trace (AET) file. You can trace how the system allocates, locks, and releases temporary tables during program runs.
128Initiates the statement timings trace to a file, which is similar to the COBOL timings trace to a file.
256Initiates the PeopleCode detail to the file for the timings trace.
1024Initiates the statement timings trace, but stores the results in the following tables: PS_BAT_TIMINGS_LOG and PS_BAT_TIMINGS_DTL.
2048Requests a database optimizer trace file.
4096Requests a database optimizer to be inserted in the Explain Plan table of the current database.
8192Sets a trace for PeopleSoft Integration Broker transform programs.

Configuration Manager

To enable tracing for an App Engine running on a Windows PC ie; two-tier mode, we use the Configuration Manager. Launch the Configuration Manager and select the needed level of tracing from the Trace tab.

Command Line

To enable Tracing for an App Engine executed from the command line, use the -TRACE option silimar to the one used in the process definition. An example as shown in PeopleBooks is
n:\pt840\bin\client\winx86\psae.exe -CT MICROSFT -CD PT800GES -CO PTDMO? -CP PTDMO -R PT8GES -AI AETESTPROG -I 45 -TRACE 2

Server Configuration Files

For programs invoked by PeopleCode and run on the application server, set the TraceAE parameter in the Trace section of the Application Server configuration file (PSAPPSRV.CFG). You can use PSADMIN to set this parameter.

Thursday, January 8, 2015

PEOPLESOFT HRMS FUNCTIONAL DOCUMENT

ERP(Peoplesoft HRMS) Functional

In this Blog step by step explained how to do Peoplesoft HRMS Functionally

Step 1: Basic Setup HRMS


Create SETID
Navigation:
Main Menu ->PeopleTools ->Utilities ->Administration ->TablesetID's

Create Business Unit
Navigation:
Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Business Unit

Setup Location:
Navigation:
Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Location

Add a company
Navigation:
Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Company

Create an Establishment ID
Navigation:
Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Establishment

Create Departments
Navigation:
Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Departments

Setting the Business Unit options default
Navigation:
Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Business Unit options default (Enter the company and Country details)

Create a pay Group Table:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Pay Roll ->Pay Group Table

Create a Job Code
Navigation:
Main Menu ->Setup HRMS ->Foundation Tables ->Job Attributes ->Job Code Table

Setting Org Defaults permission lists
Navigation:
Main Menu ->Setup HRMS ->Foundation Tables ->Organisation ->Org Defaults by permission Lists (Enter the Organisation related
data here)

Tree Manager:
Navigation:
Main Menu ->Tree Manager->Tree Utilites ->Tree Manager
->Create a new tree with the name DEPT_SECURITY
->Select the structure ID as DEPARTMENT
->Select the category as HR
->Click on ADD LEVEL and add the following below levels
1.Corporate
2.Business
3.Region
4.Company
5.Department
6.Division
7.Group
8.Unit
->Select the root node
->save it.
Note: In Business Options Default enter the details.

Security:
Navigation:
Main Menu ->Security ->Core Row Level Security ->Security by Permission Lists
->Select HCDPALL.Add ur business uint it and select the 011 as Security acess type.

Security by Dept Tree:
Navigation:
Setup HRMS ->Security ->Core Row level Security ->Security by Dept Tree
->Select HCDPALL.Add your SETID and Department ID in it.


Running the Process:
Navigation:
Setup HRMS ->Security ->Core Row Level Security->Refresh SJT Class ALL / Refresh Trans SJT Tables / Refresh SJT OPR class

Run all the above process

Buzz the Application
Navigation:
Setup HRMS ->Install -> Installation Table
->Change the SETID and Campany Name.
->Restart the services.

Adding a Person:
Navigation:
Main Menu ->Workforce Administration -> Personal Information ->Add a Person.


Workforce Administration ModuleThis are the steps we need u maintain 



Purpose of Workforce Administration
PeopleSoft Enterprise Human Resources Workforce Administration provides the foundation for your human resource management system. The data entered into the Workforce Administration business process is available to all of the Human Resources business processes as well as the other applications in the PeopleSoft Enterprise HRMS suite.
Administer Workforce Process
The Administer Workforce business process includes five basic steps-
Setting up the basic codes and formats needed for the business  process
Adding a person’s human resources record into the system
Entering additional data into the record like prior work experience, company property,  emergency contact, visa information, driver license information, bank accounts   information etc
Updating the record – changes to a person’s human resources record over time
Viewing and reporting on worker data

SETUP HR DATA
The following slides describe the process.
1Setup data – Jobcode Table
A job code can have a number of positions. You use positions to track details on a particular job in a particular department or location. Positions usually have a one-to-one relationship with workers. Job codes have a one-to-many relationship with workers.
SetupHRMS > Foundation Tables > Job attributes > Jobcode table

2Setup data – National ID Type
Assign a national ID type to a country code and provide a default or a dummy national ID for a country to use when a person or applicant ID is unavailable.
Setup HRMS > Foundation Tables > Personal > National Id Type

3  Setup data – Location Table
Enter physical locations in your organization, such as corporate headquarters, branch offices, and remote sales offices.
Setup HRMS>Foundation Tables>Organization>Location

4 Other Setup data
Company
Use the Company component to enter information about a single company or multiple companies in the organization including the default pay group for the company. This value appears as the default on the Job Data pages for people in this company.
         Set Up HRMS > Foundation Tables > Organization > Company
Establishment
Establishment component defines the distinct physical places of business (establishments) within the company including the address information and regulatory reporting information.
         Set Up HRMS > Foundation Tables > Organization > Establishment
Departments
After defining company and location data for your enterprise, use the Departments component to define business entities in the organization.
         Set Up HRMS > Foundation Tables > Organization > Departments

Personnel Actions and Reasons
Changes to worker data resulting from such activities as promotions, transfers, terminations, salary increases, and leaves of absence can be tracked using these actions.
                       Set Up HRMS > Product Related > Workforce Administration > Actions
Visa and work Permits
Define visas, permits, and associated supporting documents that governments require for noncitizens to work in the countries where your organization does business. 
                Set Up HRMS > Product Related > Workforce Administration > Visas/Permits
Drivers License Type
Enter the types of licenses that you are tracking.
     Set Up HRMS > Product Related > Workforce Administration > Driver's License Type

Person Model
The Person Model describes the information captured about a person and how the person is related to the organization. This model includes the core tables that are used by all products that are directly related to a person and their organizational relationships in the Enterprise HCM system.
A person can have one or more of these relationships at any one time, including multiple occurrences of the same relationship.
Each distinct relationship that includes a Job Data record is uniquely identified by an employee record number.
 Note. The relationships of people of interest do not always include a Job Data record
CREATE PERSON RECORD
The process is as follows………
Adding a Person
When you bring a new person into your organization, create a record that includes this information:
Personal data, such as name, address, personal relationships, and organizational relationships, such as employee or contingent worker.
Job data, such as supervisor, department, job code, and compensation details.

A Person is required to have at least one of the following records:
PERSON - Contains the ID and a person’s static data (such as birth date and birthplace). Every person you enter will have one record in PERSON.
 NAMES - Contains a person’s name data. You can capture multiple types of names and maintain history for each name type. Each person must have at least one row for the primary name type. The system uses the primary name throughout the database. The other name types are for informational use and you can add additional name types.
A record for at least one Organizational Relationship - Each person must have at least one organizational relationship defined. The type of relationship depends on whether assignment data is required or not.
When you first create a person in the system you need to enter:
An EMPLID.
A primary name.
The date that the person’s record is available in the system which will default to the current date.
An indication of the organizational relationship you will be creating.
Workforce Administration > Personal information > Biographical > Add a Person

Differences between Employee and Contingent worker
Employee – A person who is hired to provide services to the organization and having legal relationship with the organization.
            Identification: In Job data -- Action/Reason will be “HIRE”
Contingent worker -- A person who is hired to provide services to the organization and does not have a legal relationship with the organization (A temporary or part-time worker, usually one working under contract for a fixed period or a specific project.)
         Identification: In Job data -- Action/Reason will be “Add contingent worker”

Organizational Relationships
The organizational relationship defines the relationship or relationships that a person has with the organization. These may be worker or non-worker relationships and a single person can have many different relationships at the same time or over a lifetime.
You will always create a new instance for the person when
A new PER_ORG is used (EMP, CWR) that the person has never had
Any new POI with a job is needed. POIs are always created as separate instances.
Anytime you want the new assignment to be treated as a new hire (with its own hire and service dates) and you don’t want to reactivate a terminated assignment.
Organizational Relationships – Employee Type
  The relationship of a person who is hired to provide services to a company on a regular basis in exchange for compensation and who does not provide these services as part of an independent business.
An employee can work under a contract.
The exact definition of what defines an employee is left to the customer since each country has different rules. You will want to make the determination based on your regulatory requirements.
Each employee relationship must have a distinct EMPL_RCD.
Add Employment Instance
Workforce Admin > Job Information > Add Employment Instance


Organizational Relationships – Contingent Worker Type
 The relationship of a person who provides services to another entity under terms specified in a contract on a non-permanent basis. Contingent workers include independent contractors, temporary workers, and leased workers.
The exact definition of what defines a contingent worker is left to the customer since each country has different rules. You will want to make the determination based on your regulatory requirements.
Each Contingent Worker’s relationship must have a distinct EMPL_RCD.
The difference between the Employee and Contingent Worker job record is that the Provider ID can be entered in the Employment data of the Contingent Worker.
Add Contingent Worker instance
Workforce Admin > Job Information > Add Contingent Worker Instance


Organizational Relationships – Person of Interest Type
A person who does not have an employment or a contingent worker relationship but who is still of interest to the organization. HCM has the need to track information on non-workforce people in many areas such as Cobra Participants, Pension Payees, GP Dependents, External Students and Instructors, and so on.
Some POI relationships have job data records that are identified with a distinct employee record.
Others (the ones that do not need JOB information) are identified by the POI_TYPE
Additional Assignment
The additional assignment relationship concept allows us to create a new assignment for a person when they already have an existing instance and we do not want to count this new assignment as a ‘hire’. These assignments must be tied to an existing active instance of the same type (employee or contingent worker) and they will be ended if that instance is terminated. They may also be ended prior to the instance being terminated.
Benefits of additional assignment relationships are:
 The new assignment will not be counted as a ‘hire’ for regulatory reporting and date setting
 The new assignment will be automatically terminated when the controlling instance is terminated.
 You can allow the users who have access to the controlling instance to also have access to the additional assignment or vice versa with just a installation setting on security.
The restriction of using the additional assignment relationships is:
The additional assignment cannot remain active, or be reactivated if the controlling instance is in an inactive status.
Additional Assignment and Organizational Relationships
Organizational instances can be limited to one assignment (EMPL_RCD) or include multiple assignments, depending on your needs. For example, a person can have a single Employment Instance with a company, but as part of that employment instance, they have three separate assignments, each identified by different EMPL_RCD numbers. One of these EMPL_RCDs is identified as the controlling instance containing the overall dates. The others refer only to the particular assignment.

Additional Personal Information
Workforce admin > Personal Information > Driver License Data


Workforce admin > Personal Information > Prior Work Experience


Workforce admin > Personal Information > Citizenship


Person Health Related Information
Workforce Monitoring > Health and Safety > Record Medical Exam Results.

Adding the Benefits to the existing Employee:


Base Benefits:
Adding a Health Plan to an Existing Employee:

Provider / Vendor Tables:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Base Benefits ->Plans and Providers ->Provider/ Vendor Tables ->Vendor ID

Benefit Plan Type:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Base Benefits ->Plans and Providers ->Provider/ Vendor Tables ->Benefit Plan Type

Health Plan Table:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Plan Attributes ->Health Plan Table

Health Coverage Codes:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Plan Attributes ->Health Coverage Codes

Rates and Rules:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Base Benefits ->Rates and Rules ->Benefit Rates.

Deduction Code:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Payroll Interface ->Deductions ->Deduction Tables.

Cloning the Benefit Program Utility:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Base Benefits ->Program Structure ->Benefit Program clone Utility.

->Select required Basic benefits and clone it.

Benefit Program Table:
Navigation:
Main Menu ->Setup HRMS ->Product Related ->Base Benefits ->Program Structure ->Benefit Program Table.

Adding the Benefit to the Employee:
Navigation:
Main Menu ->Workforce Administration ->Job Data ->Select the EMPLID ->Click on the Benefit program participation link ->Add the benefit program.


PeopleSoft North America Payroll Process overview

PAYROLL PROCESS OVERVIEW:
  • Set up the Balance ID tables (Once per year of Calendar) : Every calendar year must define Balance IDs (for each month) for each SetID, Balance ID and Calendar Year combination. This is accomplished under the Define Payroll Process menu group. You Should use the Create pushbutton on the first page after specifying the correct year. The Default Balance ID for the Calendar Year is 'CY'.

  • Setup Pay Calendar: For every Company/Paygroup you must create a Pay Calendar for each pay period. Pay Calendars may be set up manually or with the Pay Calendar creation process in Manage Payroll Process menu by setting up the run control with Pay calendar criteria. When you execute the Pay Calendar Creation program (PSPCLBLD), Pay Calendars for the year specified are created based on the criteria entered for each Paygroup.

  • Set up Pay Run ID: To set up the Pay Run ID, you must go to the Define Payroll Process menu, Setup -Pay Run Table page. It is recommended that Pay Run IDs be set up as you go along, i.e. at the time of each pay period processing. The payroll schedule may allow for logic to be associated with the Pay Run ID.

  • Associate the Pay Run ID to the Pay Calendar(s) : After the Pay Calendars have been created and Pay Run ID(s) set up, you must tie a Pay Run ID to each Pay calendars to be processed. Multiple Pay calendars can be associated with a single Pay Run ID. Tie the Pay Run ID to the Pay calendars using the Define Payroll process menu, setup – Pay Calendar Table page for the period in update mode. Enter the Pay Run ID in the Pay Run ID field on the page.

  • Create Paysheets: The PSPPYBLD Create Paysheet process is then executed. It builds raw Paysheets that will not have any of the employee time(i.e. sick, vacation etc) info. A PaySheet in contains base Payroll information. This includes Tax info, distribution (G/L) info and Job info.

  • Execute Preliminary Pay Calculation: Once Paysheets are created, then the system is ready for the execution of the first(prelim) pay calculation. the Primary purpose of the prelim pay calc is to validate the Paysheets, and corresponding Company/Paygroup/Employee data. Running a prelim pay calc will calculate checks. If error messages occur, execute and review the output of the PAY011.SQR, or view the messages on line and determine steps necessary for correction. Be sure to review the error and resolve them.

  • Execute the Pay Calculation: After teh prelim pay calc, the pay calc is re-executed untill no errors are produced.

  • Run Reports to Pre-Balance the payroll:
             PAY002 – Payroll Register report
             PAY018 – Payroll Summary report
             PAY007 – Deductions Not Taken report
             PAY008 – Deductions taken from Arrears report
             PAY010 – Employees not processed report
             TAX001 – Tax Deposit Summary report
These reports will provide you with the necessary data to balance your unconfirmed payroll. the formula for balancing a Payroll is {Total Gross Pay (off PAY002) -  Before TAx Deductions (off PAY018) - Earnings in Gross that are not Taxble(Off PAY018) + Taxable Benefits NOT in Gross (off PAY018)  + Taxable Earnings NOT in Gross (off PAY018)  =  Federal taxable Wages (off TAX001)}
Check that the taxes withheld are correct by taking the taxable grosses listed on PAY018 times the respective rates. You should also ensure that the gross-to-net foots on page one of PAY018
  • Run the Final Payroll Calculation: Then run the Pay calc in final mode is a must before confirming the Payroll. If you have not changed any data, then this step should be run with only calculate where needed switch set to on.
  • Run the Payroll Confirmation: Confirmation updates all year-to-date balances, sets out a confirmed check with an assigned check number and let’s you run the SQRs that create the check print file, the direct deposit transfer file, final reports, etc. If you ever do an unconfirm, be sure to do a recalculate all pay calculation before re-confirming.
  • Run the Leave accrual process: This process should be run before check print program, if the accrual info is required on the employee’s check/deposit memo.
  • Create the Check/Deposit Print Extract files: Run PAY003.SQR to print Checks and DDP003.SQR to print advises for each Pay Run ID.
  • Create the Direct Deposit Magnetic Media File(s): Execute the delivered SQR (DDP001.SQR) to create the standard ACH file for the clearing bank.
  • Execute and Print the various payroll reports as required by clients:
  • Create and distribute the Interface files: The last step is to interface the payroll dollars to the various entities (internal or external) in form of files and paper reports. This includes G/L Interface, AP Interface, HMO interfaces, Credit Union etc.
-----------  -----------  -----------  -----------  -----------  -----------
Following are the four Key Status Fields that determine the overall status of a paycheck:
  • PAY_LINE_STATUS of PS_PAY_EARNINGS
  • PAYCHECK_STATUS of PS_PAY_CHECK
  • CONFIRMED of PS_PAY_LINE
  • CONFIRMED of PS_PAY_PAGE
The programs to determine what has been processed so far and what still needs to be processed use these fields. This is what enables the processes to be run again and to continue where they leave off if an error occurs.
===============================================================
Payroll Definitions
                Additional Pay – Earnings that an employee will be paid on a regular basis in addition to regular pay and does not add to base pay for overtime calculation. Examples are housing allowance, legislative monthly allowance, fringe benefits, recovery of wage overpayment, uniform allowance, etc. Do not confuse additional pay with a one-time payment, such as overtime or suggestion awards which Central Payroll will enter directly on the paysheet. This also is not earnings that were not processed during the regular payroll run.
                Effective Date - A method of dating information in PeopleSoft Enterprise applications. Information can be predated to add historical data to the system, or postdate information in order to enter it before it actually goes into effect. By using effective dates, values are not deleted: new values are entered with a current effective date.
                EmplID – System Generated Employee Identification Number.
                Employee Self Service - Self-service transactions are extensions of the core Edison system. It enables employees to update their personal information or to perform some basic task required by their job.
                Final Pay Calculation - Final calculation performs the same calculations as preliminary calculations. Final calculation produces the final results of the payroll. It sets the Locked for Confirm indicator to prevent automatic updates to the paysheet when certain employee pay data is changed.
                        Garnishments - PeopleSoft can process several types of garnishments:
                Child, spousal, or dependent support - Court-ordered deductions for support of another person, whether it is a child, ex-spouse, or dependent.
                Tax Levies – Federal- or state-mandated deductions for delinquent tax payments.
                Creditor garnishments - Deductions derived from an employee not paying an obligation to a creditor.
                Administrative wage garnishments - Federal-mandated deductions for delinquent non-tax debts owed to the U.S. government.
                Student Loan - Deductions for delinquent loans for education granted under the Federal Family Education Program.
                Bankruptcy order - Deductions for employee declared bankruptcy, which are paid to a trustee of the federal court handling the payments to the employee's creditors.
                Wage assignment - Voluntary employee deduction based on an agreement to directly transfer part of their wages to another party.

                General Deductions - Deductions that do not offer benefits such as charity fund, savings bonds, TSEA Dues, etc. With Edison, several benefits have moved to general deductions. Those deductions include Long Term Care, Universal Life, Term Life, 457-American General, and 403b. The 457 American General and 403b are closed plans. Long Term Care, Universal and Term Life are moving to general deductions because of premium factors and age graded tables to name a few.
                National ID – Social Security Number
                On-Cycle – On-cycle processing refers to executing regularly scheduled Payroll processing events. In PeopleSoft, these are recurring runs for which period, calendar, and calendar groups have been predefined. Every effort should be made to process all employees on the on-cycle. The on-cycle payroll closes processing for the current pay period.
For example, a paygroup with a monthly frequency has twelve regularly scheduled on-cycle payrolls each year and a paygroup with a semi-monthly frequency has 24 regularly scheduled on-cycle payrolls each year.
Off-Cycle – Off-cycle payroll processing refers to processing payments and making corrections to finalized results outside of the normal payroll schedule. Off-cycle transactions are typically made to correct prior payments or to make early termination payments that cannot wait until the next scheduled on-cycle payroll. Off-cycle processing opens up payroll processing for the next pay period.

                Pay Confirmation - Pay confirmation is the final step in processing payroll. Running the Pay Confirmation process indicates that the results of the payroll process have been reviewed and approved for this pay run. It also indicates that checks and direct deposit are ready for creation.
After a payroll has been confirmed, checks, direct deposits and any other payroll reports can be generated. Employees may View Paycheck through Self Service after the pay confirmation process.

                Pay Cycle - The set of rules that define the criteria by a payroll processing cycle is built.

                Paysheets - Paysheets are similar to a worksheet in Excel; they are similar to a ledger for time reporting. Paysheets have on average 7 employees per sheet.

                Administrative wage garnishments - Federal-mandated deductions for delinquent non-tax debts owed to the U.S. government.
                Student Loan - Deductions for delinquent loans for education granted under the Federal Family Education Program.
                Bankruptcy order - Deductions for employee declared bankruptcy, which are paid to a trustee of the federal court handling the payments to the employee's creditors.
                Wage assignment - Voluntary employee deduction based on an agreement to directly transfer part of their wages to another party.

                General Deductions - Deductions that do not offer benefits such as charity fund, savings bonds, TSEA Dues, etc. With Edison, several benefits have moved to general deductions. Those deductions include Long Term Care, Universal Life, Term Life, 457-American General, and 403b. The 457 American General and 403b are closed plans. Long Term Care, Universal and Term Life are moving to general deductions because of premium factors and age graded tables to name a few.
                National ID – Social Security Number
                On-Cycle – On-cycle processing refers to executing regularly scheduled Payroll processing events. In PeopleSoft, these are recurring runs for which period, calendar, and calendar groups have been predefined. Every effort should be made to process all employees on the on-cycle. The on-cycle payroll closes processing for the current pay period.
For example, a paygroup with a monthly frequency has twelve regularly scheduled on-cycle payrolls each year and a paygroup with a semi-monthly frequency has 24 regularly scheduled on-cycle payrolls each year.
Off-Cycle – Off-cycle payroll processing refers to processing payments and making corrections to finalized results outside of the normal payroll schedule. Off-cycle transactions are typically made to correct prior payments or to make early termination payments that cannot wait until the next scheduled on-cycle payroll. Off-cycle processing opens up payroll processing for the next pay period.

                Pay Confirmation - Pay confirmation is the final step in processing payroll. Running the Pay Confirmation process indicates that the results of the payroll process have been reviewed and approved for this pay run. It also indicates that checks and direct deposit are ready for creation.
After a payroll has been confirmed, checks, direct deposits and any other payroll reports can be generated. Employees may View Paycheck through Self Service after the pay confirmation process.

                Pay Cycle - The set of rules that define the criteria by a payroll processing cycle is built.

                Paysheets - Paysheets are similar to a worksheet in Excel; they are similar to a ledger for time reporting. Paysheets have on average 7 employees per sheet.
                Payline - Paylines are individual employees on a paysheet. Paylines are similar to rows in a spreadsheet.
                Preliminary Pay Calculation - Preliminary calculation is your first round of calculations and may be run several times during a payroll processing cycle. Preliminary calculations provide gross to net results. While processing preliminary calculations, changes can still be made and issues resolved.
                Reverse Paychecks - A reversal is appropriate when a check or payment has been produced and it is subsequently realized that the check or payment should not have been processed at all, or produced with incorrect information, and the check has not been cashed or deposited.
Examples:
                An employee is terminated at the end of the last pay period and receives what should be the final paycheck. However, the Human Resources department fails to enter the termination into the system. So, when paysheets are created and processed for the next pay period, the system produces a paycheck for the employee. The employee's supervisor reports the termination to the Payroll department and that no check should have been produced. The Payroll department runs a reversal on the incorrectly issued check backing it out of the system.
                An employee was not paid at the right rate.
                An employee was taxed in the wrong state.
                Retro Pay – PeopleSoft Payroll automatically generates retro pay requests when the HR department makes pay-related changes to Job Data. The system also automatically generates retro pay requests when Central Payroll creates Additional Pay records with an effective date earlier than, or equal to the pay end date of the last check paid to the employee.
Updates to the specific Job Data fields create retro pay requests when the effective date of the change is earlier than, or equal to, the pay end date of the last check paid to the employee. These fields are Compensation Rate, Employee Status, Shift, Compensation Frequency, Standard Hours, Shift Rate, Shift Factor, Effective Date, Effective Sequence, FLSA status
                Run Control ID - A unique ID to associate each user with his or her own Run Control Table entries.
Human Resources:
                Payroll retrieves an employee’s national ID number, address, and job compensation.
                Payroll retrieves funding source information for earnings and fringe costs from Commitment Accounting.
                Sets up a trigger for retroactive processing when there is a change in an employee’s job compensation.

Benefits Administration:
                Sets up a trigger for retroactive processing when there is a change in an employee’s benefits enrollment.
                Payroll retrieves the benefit plans for which an employee is eligible from Benefits Administration.

Self-Service:
                Payroll transmits employee pay data for PeopleSoft ePay for online access by employees.
                Payroll retrieves online employee changes to direct deposit information, W-2 reissue requests, and federal W-4 tax information.

Time and Labor:
                Payroll loads time and labor data, such as payable time, to paysheets for processing.
                Payroll sends labor distribution information (time and labor costs) to Time and Labor.
General Ledger:
                Payroll transmits the expenses and liabilities that are incurred from a pay cycle to the General Ledger application.
                Set Up and Maintain Employee Pay Data
                Employee pay data includes personal data, job data, benefits data, and federal, state/provincial, and local tax information, general and benefit deductions, additional pay, garnishments, savings bonds, and direct deposits.
                Process the Payroll
                The basic steps of payroll processing are: create paysheets, pay calculation, pay confirmation, and generate checks and direct deposits.
Set Up and Maintenance of Core Payroll Tables
                Core payroll tables are required to implement the PeopleSoft Payroll application, including organization tables, compensation and earnings tables, deduction tables, pay calendar tables, garnishment tables, vendor tables, general ledger interface, tax tables, retroactive processing, and tip allocation. PeopleSoft updates tax tables annually.

Tables (PeopleTools.HRMS,Benfits,,Payroll)

* PSPROJECTDEFN — Project header table
* PSPROJECTITEM — Definitions in the project 

Fields
* PSDBFIELD — Fields in the system
* PSXLATITEM — Translate Values 

Records
* PSRECDEFN — Record header table
* PSRECFIELD — Fields in the record (subrecords not expanded)
* PSRECFIELDALL — Fields in the record (subrecords expanded)
* PSKEYDEFN — Indexes
* PSTBLSPCCAT — Tablespaces
* PSRECTBLSPC — Records’ tablespace assignments 

Pages
(Note: Pages still have the name panels in the PeopleTools table names)
* PSPNLDEFN — Page header table
* PSPNLFIELD — Page controls (field types/FIELDTYPE)
* PSPNLHTMLAREA — Static HTML Areas on Pages 

Components

(Note: Components still have the name panel group in the PeopleTools table names)

* PSPNLGRPDEFN — Component header table
* PSPNLGROUP — Pages in the components 

Component Interface

* PSBCDEFN — header record; one row for each component interface
* PSBCITEM — one row for each property 

Menus

* PSMENUDEFN — Menu header table
* PSMENUITEM — Items (components) on the menu 

Security

* PSCLASSDEFN — Permission List header table
* PSAUTHITEM — Menu items granted security by permission lists
* PSROLEDEFN — Role header table
* PSROLECLASS — Permission Lists in roles
* PSOPRDEFN — User ID header table
* PSROLEUSER — Roles granted to users 

Process Scheduler

* PS_PRCSDEFN — Process Definition Header
* PS_PRCSDEFNGRP — Process Group
* PS_PRCSDEFNPNL — Component
* PS_PRCSJOBDEFN — Job Header
* PSPRCSRQST — Process Request Instances
* PS_PRCSJOBITEM — Job Processes 

Portal

* PSPRSMDEFN — Content References and Folders
* PSPRUHTABPGLT — Portal User HP Tab Pagelet 

Change Control

* PSCHGCTLHIST — shows history of locked definitions with project name, incident, and description
* PSCHGCTLLOCK — shows definitions that are currently locked 

Application Engine

* PSAEAPPLDEFN — header record; 1 row per app engine
* PSAEAPPLSTATE — state records assigned to app engines
* PSAEAPPLTEMPTBL — temp tables assigned to app engines
* PSAESECTDEFN — sections
* PSAESTEPDEFN — steps
* PSAESTEPMSGDEFN
* PSAESTMTDEFN — actions (action types) 

List Log Messages

HTML Definitions

* PSCONTDEFN — header record; last update time, etc.
* PSCONTENT — stores actual text in the HTML definition 

SQL Definitions

* PSSQLDEFN — header record; last update time, etc.
* PSSQLTEXTDEFN — stores actual text in the SQL definition 

File Layout Definitions

* PSFLDDEFN — header record; last update time, etc.
* PSFLDSEGDEFN — stores the segments for each layout
* PSFLDFIELDDEFN — stores the fields for each layout 

Workflow
* APPR_RULE_DETL - Approval Rule Defn Details
* APPR_RULE_FIELD - Approval Rule Defn Route Cntl
* APPR_RULE_AMT - Approval Rule Amounts
* RTE_CNTL_LN - Route Control Profile Line
* RTE_CNTL_RUSER - RoleUser Route Cntl Profiles
* RTE_CNTL_TYPE - Route Control Type
* RTE_CNTL_HDR - Routing Control Type
PEOPLESOFT EMPLOYEE TABLES  
PS_EMPLOYEES
PS_EMPLOYEES_LNG
PS_EMPLOYMENT
PS_EMPLOYMENT_LNG
PS_EMPLOYMENT_LNG1
PS_EMPLOYMENT_LNG2
PS_EMPLOYMENT_LNG3
PS_HS_EMPLOYMENT
PS_HS_EMPL_REL_CAN
PS_HS_EMPL_REL_LNG
PS_HS_EMPL_SUB_CAN
PS_HS_EMPL_SUB_LNG
PS_INJ_CLMADDR_CAN
PS_JOB
PS_PERSONAL_DATA
PS_PERSONL_DTA_LNG
PS_PERS_DATA_AET
PS_PERS_DATA_EFFDT
PS_PERS_DTAEFF_LNG
PS_PERS_NID
PS_JOB_EARNS_DIST
PS_JOB_APPROVALS
PS_BEN_PROG_PARTIC
PeopleSoft Base Benefits Tables
PS_BAS_PARTIC
PS_BAS_PARTIC_COST
PS_BAS_PARTIC_DPND
PS_BAS_PARTIC_INVT
PS_BAS_PARTIC_OPTN
PS_BAS_PARTIC_PLAN
PS_BENEF_COMMENT
PS_BEN_PROG_PARTIC
PS_DEPENDENT_BENEF
PS_DISABILITY_BEN
PS_FSA_BENEFIT
PS_FSA_PAYMENT
PS_HEALTH_BENEFIT
PS_HEALTH_DEPENDNT
PS_LEAVE_ACCRUAL
PS_LEAVE_PLAN
PS_LIFE_ADD_BEN
PS_LIFE_ADD_BENEFC
PS_PENSION_BENEFC
PS_PENSION_PLAN
PS_RTRMNT_PLAN
PS_SAVINGS_BENEFIC
PS_SAVINGS_INVEST
PS_SAVINGS_PLAN
PS_VACATION_BEN
People Payroll Tables

PS_STATE_TAX_DATA
PS_GENL_DEDUCTION
PS_BAL_ADJ_UI_CAN
PS_CAN_CHECK_YTDPS_CAN_DED_BALANCE
PS_CAN_ERN_BALANCE
PS_CAN_TAX_BALANCE
PS_CAN_TAX_DATA
PS_CHECK_YTDPS_DEDUCTION_BAL
PS_EARNINGS_BAL
PS_FED_TAX_DATA
PS_TAX_BALANCE
PS_LOCAL_TAX_DATAPS_BAL_ADJ_ARR
PS_BAL_ADJ_CHK
PS_BAL_ADJ_CN_CHK
PS_BAL_ADJ_CN_DED
PS_BAL_ADJ_CN_ERN PS_BAL_ADJ_CN_TAX
PS_BAL_ADJ_DED
PS_BAL_ADJ_ERN
PS_BAL_ADJ_GRN
PS_BAL_ADJ_TAXPS_DED_ARREARS
PS_GARN_RULE
PS_GARN_SCHED
PS_GARN_SPEC
PS_GENL_DED_CD
Complete PeopleSoft Tables
PS_EMPLOYEES
PS_EMPLOYEES_LNG
PS_EMPLOYMENT
PS_EMPLOYMENT_LNG
PS_EMPLOYMENT_LNG1
PS_EMPLOYMENT_LNG2
PS_EMPLOYMENT_LNG3
PS_HS_EMPLOYMENT
PS_HS_EMPL_REL_CAN
PS_HS_EMPL_REL_LNG
PS_HS_EMPL_SUB_CAN
PS_HS_EMPL_SUB_LNG
PS_INJ_CLMADDR_CAN
PS_JOB, PS_PERSONAL_DATA
PS_PERSONL_DTA_LNG
PS_PERS_DATA_AET
PS_PERS_DATA_EFFDT
PS_PERS_DTAEFF_LNG
PS_PERS_NID
PS_JOB_EARNS_DIST
PS_JOB_APPROVALS
PS_STATE_TAX_DATA
PS_GENL_DEDUCTION
PS_BAL_ADJ_UI_CAN
PS_CAN_CHECK_YTD
PS_CAN_DED_BALANCE
PS_CAN_ERN_BALANCE
PS_CAN_TAX_BALANCE
PS_CAN_TAX_DATA
PS_CHECK_YTD
PS_DEDUCTION_BAL
PS_EARNINGS_BAL
PS_FED_TAX_DATA
PS_TAX_BALANCE
PS_LOCAL_TAX_DATA
PS_BAL_ADJ_ARR
PS_BAL_ADJ_CHK
PS_BAL_ADJ_CN_CHK
PS_BAL_ADJ_CN_DED
PS_BAL_ADJ_CN_ERN
PS_BAL_ADJ_CN_TAX
PS_BAL_ADJ_DED
PS_BAL_ADJ_ERN
PS_BAL_ADJ_GRN
PS_BAL_ADJ_TAX
PS_DED_ARREARS
PS_GARN_RULE
PS_GARN_SCHED
PS_GARN_SPEC
PS_GENL_DED_CD
PS_BAS_PARTIC
PS_BAS_PARTIC_COST
PS_BAS_PARTIC_DPND
PS_BAS_PARTIC_INVT
PS_BAS_PARTIC_OPTN
PS_BAS_PARTIC_PLAN
PS_BENEF_COMMENT
PS_BEN_PROG_PARTIC
PS_DEPENDENT_BENEF
PS_DISABILITY_BEN
PS_FSA_BENEFIT
PS_FSA_PAYMENT
PS_HEALTH_BENEFIT
PS_HEALTH_DEPENDNT
PS_LEAVE_ACCRUAL
PS_LEAVE_PLAN
PS_LIFE_ADD_BEN
PS_LIFE_ADD_BENEFC
PS_PENSION_BENEFC
PS_PENSION_PLAN
PS_RTRMNT_PLAN
PS_SAVINGS_BENEFIC
PS_SAVINGS_INVEST
PS_SAVINGS_PLAN
PS_VACATION_BEN