How to read flat file using the filelayout with each line having different layout

When all the lines in the data have more than one file layout structure, it is difficult to read them and load them to different record. Record file ID can be used to simplify the task but it will work only when the one file record ID to one record mapping is present. If the file has the values where more than one file record ID needs to be mapped to one record.

When file type is fixed file.
There is one way to do a work around in which one record and one file layout will created on this record in which all the fields from all the different records in to which data needs to be loaded. In record should have all the fields as character fields later convert it in to number and date.
In the file layout define start position and end position of fields based on the layout that this field belongs to i,e more than one field will have the same position and position may be overlapping as well. This will work when the common fields in the different records in to which we need to load should have same position in the file.

In the Peoplecode after read rowset use the custom sql based on the field to identify the record that needs to be populated execute insert sql.

When file is not the fixed file.
Then read all the data in to one field of record. field length should be long enough to load the entire line of the data. Split the data based on the seperator character. Identify the record in to which data needs to be loaded based on the certain field and insert data in to that table.


Peoplesoft Trace Viewer : Easy way to understand Trace file

Peoplesoft Application Trace.

Most professionals involved with PeopleSoft have seen a SQL trace file at one point in their career. Although extremely valuable, extracting the useful information from this file can be a significant hurdle. Loading the file in Pace-Trace, this information is made available to you in a clear format, even if you are not a programmer. Being able to continue focusing on the problem, and not the file, dramatically speeds the process toward your eventual solution.

Pace-Trace is effectively a viewer for PeopleSoft SQL trace files. It reads a selected trace file and creates a grid that summarizes all the SQL actions contained in the file. This quick access to trace file information can be used by everyone from business analysts to developers, speeding report design, custom development, and troubleshooting.

Source :-


AET records in the Application Engine.

Auto populated Fields in the AET record. Fields that are populated in the AET record.

1) Process Instance

are the fields that are auto populated in the AET record. Process Instance is mandatory key field in the AET record.PROCESS_INSTANCE field value cannot be changed by the Application Engine. OPRID & RUN_CNTL_ID field is optional fields in the AET record. These fields are auto populated in the AET record and need not use SQL and populate these fields.

In the First SQL step of the Application Engine we can use %Bind(OPRID) and %Bind(RUN_CNTL_ID) instead of the %operatorID and %Runcontrol.


Calculating Benefits Deductions for Multiple Jobs

Calculating Benefits Deductions for Multiple Jobs
Set Up HRMS > Product Related > Base Benefits > Rates and Rules >Calculation
Rules Table > Calculation Rules

When calculating benefit deductions or coverage amounts based on the employee’s salary
you need to determine which job salaries to use. You can calculate deduction and
coverage amounts based on:
• Primary: The salary from the Primary Job
• Flagged BR: The sum of the salaries from a group of jobs within the same benefit
record number selected for deduction processing
• All Flagged: The sum of salaries across all benefit record numbers selected for
deduction processing.

Note. The Combined Salaries check box and Grouping Method on the Calculation Rules
page along with the employee’s Include Deductions flag from the Primary Jobs Flags
page determine the deduction or coverage amount for salary based plans.


Primary Jobs in Peoplesoft - HR & Base Benefits

Primary Jobs in Peoplesoft
There are 2 types of the Primary Jobs in the Peoplesoft HCM
1) HR - Primary Job Indicator in the Job data component.
2) Benefits - Primary Job Indicator.
One of the Employee job will be considered as the HR -Primary job for an employee and this is mainly for reporting purpose.

One of the Employee Job will be considered as the Benefits - Primary Job for Jobs under particulary Benefit Record number of an employee. If employees' Jobs are assigned to more than one Benefit record number and for each set of the Employees' Jobs under the particular Benefit record number one Benefits Primary Job should be selected.

Job - Data - Benefit Program Participation Page can be used to set the Benefit Record number.

Note : - Benefit Record Number is Zero by default. You manually change this field when appropraite. Because you are maintaning an effective-dated history of primary jobs benefits according to a set of strict rules , don't change the benefit record number of an existing job.
Doing so invalidates the primary job inicators that reside on the effective - dated primary jobs table and can result in erroneous processing within Benefits Adminstration and payroll for north america, resulting in abnormal termination of some processes.

Multiple Job Options can be set in the below Component.
Setup HRMS > Product Releated > Base Benefits > Multiple Job Options > Mutliple- Job optns

Following page can be used to view and update an employee's primary Job flag inculde deduction flag.
Benefits > Maintain Primary Jobs > Maintain Flags > Primary Jobs Flags

Primary Jobs table, Which is automatically created when ever a job is added using the Add concurrent Job pages updated whenever the job is terminated, based upon rules that you define in the multiple- Job optns (multiple Job options) page.

Primary Jobs table has following flags as well.

Include Eligibility : For Benefits Administration only. Select this check box if you want this job to be included by the system when determining the employee’s benefit eligibility.

Include Deductions: Select this check box if you want this job to be included when the system calculates the employee’s benefit deduction and coverage.

Why Benefits Primary Job is requried.
1) Determine to which Job the system applies the benefit deducation.
2) Identify the job that will provide the service date and the termination date.
3) Search record on all the Benefits search page shows only the jobs which has primary job flag is selected.

Automatically Building Primary Job Data for Multiple Employees
Run the Primary Job Utility process whenever you add a new employee population to the database through an external interface or database load (such as when implementing employee groups in phases or acquiring another company).

Benefits > Maintain Primary Jobs > Rebuild Primary Job Flags > Primary Job Maint
Process Name :- BN_BEN500_AE
When the utility runs, all existing data for the indicated employee population (if any) in the Primary Jobs Table is deleted. For each employee, a new effective-dated entry is made, assigning the primary job designation to the lowest active employee record within a benefit record number. Primary Job information is created for a time span bounded by the earliest and latest job effective dates for all jobs within a benefit record. If all jobs within a benefit record are terminated, the job with the lowest employee record is designated as the primary job.

Warning! All manual changes made through the Primary Jobs Flags page for the selected employee population are lost, because the complete Primary Job history is rebuilt for each employee.


Workforce Communication in Peoplesoft 9.1

New Module to be introduced in the peoplesoft 9.1 - Workforce communication (WFC).
WFC is outcome of an market research to Manage different HR programs and
initiatives whcih helps to increased invlovment workforce and sucess of initiatives.
PeopleSoft Workforce Communications could be used include:
• Organizational change management communications
• Cultural brand awareness
• Open enrollment communications
• Policy and compliance communications
• Manager-assessed workforce planning
• Health and wellness programs
• Alumni community communications and development

Surveys can dynamically branch based on how the recipient has answered the questions, and can trigger automated follow-up actions that are specific to the recipient’s response. The ability
to target survey communications to workforce groups and to personalize survey.

PeopleSoft Workforce Communications can enable you to answer the following
• Which initiatives were most successful?
• Has the initiative resulted in the committed goal of cost reduction?
• What percentage of recipients responded to the survey?
• How many people opened the email communication? Who didn’t open it?
• Which workforce demographic is the most and least satisfied or engaged?
• How is satisfaction and engagement related to other factors?
• How do you get the right talent in the right position?
• How many contractors have we hired as a result of alumni programs?


All Job codes are not visible in the Position Data component

Jobcode in the Position data Management in Peoplesoft.
You can associate an jobcode to an position number only when the position management indicator for Job code is selected. Business unit in the position management table should map to the SETID in the Jobcode table through the Set control recrod.


EMPL_RCD is Benefit Record in Base Benefit Records

BENEFIT_NBR field is not implement in the peoplesoft base benefit records.
EMPL_RCD in the Base Benefit Tables doesn't store EMPL_RCD instead store the Benefit record Number and Benefit number (BENEFIT_NBR) field in these records are dummy ( not implemented )and they always store zero. It's seems to be some sort of the design flaw in the Peoplesoft.

All the Base Benefit (Benefit Program participation , Health Benefit ..etc )
record's schema shows that it is keyed by EMPL_RCD. This is not logically or functionally accurate. Throughout all of Base Benefits, when in the context of benefit enrollment, EMPL_RCD must be interpreted as an alias for BENEFIT_RCD_NBR. All benefit enrollment-related records are logically keyed by BENEFIT_RCD_NBR, so here EMPL_RCD actually contains the value of the appropriate BENEFIT_RCD_NBR. It is CRITICAL that all joins, comparisons, and updates to this record be against BENEFIT_RCD_NBR. Thus a typical driving join for benefit participation is PS_PER_ORG_ASGN.BENEFIT_RCD_NBR = PS_BEN_PROG_PARTIC.EMPL_RCD, and a typical join for benefit enrollment is PS_PER_ORG_ASGN.BENEFIT_RCD_NBR = PS_HEALTH_BENEFIT.EMPL_RCD. The security and search views used in Base Benefits perform this "mapping" internally.


Employees table - PER099 Process in Peoplesoft

PER099 - Employees Record

PER099 - This Application Engine program re-fresh the snapshot of the employee data stored in the in PS_EMPLOYEES table and PS_EMPLOYEES_LNG

Employee - EMPLOYEES is a table populated by PER099 AppEngine process.

It is a snapshot of emploees' personal/demographic data, employment data, and job/salary data as of the date indicated when the program is run.

This table is primarily for reporting. Only employees with EMPL_STATUS (A,P,L,S,W) are included with all their EMPL_RCDs and the most current JOB row as of the ASOFDATE.

EMPLOYEES_LNG is the language record related to EMPLOYEES.

A related language record enables text fields on a table to be translated into various languages for use in other countries.

Note :- It is not preferred to modify these record during implementation. If you need custom fields for the reporting purpose create the child record with the same set of keys and the custom fields in to these and create Job process including the PER099 and custom process which populates custom field in the child record. Simple join on the Employees record and custom child record will give you all the fields for reporting purpose.