A) It is a process of integrated flow of Information, which binds the organization together.
It is an integrated application software module providing operational, managerial and strategic Information for improving productivity, efficiency and quality.

PeopleSoft HRMS system provides complete support for all human resources needs with functionality for

  • Recruiting employees for jobs
  • Tracking training, employee skills and education
  • Administering base benefits programs and more

A) The Project passes through the following stages.

  1.  Analysis
  2.  Designing
  3.  Coding
  4.  Testing
  5.  Implementation
  6.  Maintenance.

A) The Component Processor Controls the PeopleSoft Applications from Initial data retrieval through updating the database.

The component processor manages the flow of data processing as users enter information on pages. Issues INSERT DELETE and UPDATE statements to maintain data in the database and SELECT statements to retrieve data

A) Component Buffer is the area in memory that stores data for the currently active component.

A) Component buffer contains all the data of the active component.

Data buffer contains the data other than the data in the component buffer (Data of other records)

A) Rowset, Row, Record, Field, Array, File, Sql, chart, grid and so on.

A) You can assign a record which is used in component buffer to a state record of Application engine.

A) In Field edit for each field change, a transition to the application server to the database is taken place. In Save edit for all the fields, only one transition to the application server to the Database is taken place.

PeopleSoft Interview Questions

A) Load Lookup is used to reduce the complexity of joins – it populates the values of a certain field depending on the key field specified from a certain table. Then the users can query from the preloaded lookup table instead of joining tables. While arrays are used to store and retrieve data using the get and put commands

Load-lookup will be populated at compilation time.
We can adjust the size of load-lookup.
It is only for text data type

Array gets populated at Execution time.
We can’t modify size of the Array. If we given more than the size of the array, Array supports all data types.

A) SQL View: SQL View has fields from one or more tables in the reorganized way. This provides alternative view of information stored in the tables.

Temporary Table: are used for running application engine batch processes. Temporary tables can store data to update without risking the main application table.

A) Include all the roles in a project by clicking on Insert -> Definitions into Project -> select Roles and add them into the project. Migrate the project to another database.

Create a data mover script to migrate roles from PSROLEDEFN or PSPCMPROG for peoplecode table.

  1.  Login to database through App Designer as a source database.
  2.  Click on upgrade tab and open the project which contains roles which you want to migrate.
  3.  Double click on Roles folder under the opened project.
  4.  Select Action as “Copy”.
  5.  Go to Tools > Copy Project > To Database…..
  6.  Give database name (Target Database) to which you want to migrate roles.
  7.  Click on “OK”
  8.  Select “Roles” from different objects and copy those roles.
  9.  After completion of Copying double click on Roles folder under the opened project and verify that “Done” checkbox should be checked.

A) Set Control id is used when you want to share tables in PeopleTools applications.

A) Using edit table option in record field properties

A) – Indexing tables on the database side helps in batch processing a great deal.

  • Analyzing tables helps.
  • If there is custom code make sure the SQL queries used are written well with the use of proper keys and joins are correct as well.

A) – The state record will be used to pass variable information between two application engine sections.

  • It can be physical or derived work record. Physical record can be used when you have restart logic and when you have disabled the restart logic derived work record can be used.
  • There can be a max of 200 state records that can be used in a single AE but only one of them can be default state record name must end with _AET.

A) Main-Step-Action

  • Main is the required section in Application Engine.
  • There can be multiple steps in single application engine but at least one step should be part of AE.
  • Similarly you can have multiple actions in AE but you should have minimum 1 action part of step.

A) Component level PeopleCode is associated with unique component, where as record level peoplecode can be associated with any number of components

A) People code supports these types of functions:

  • Built in
  • Internal
  • External people code
  • External non-people code

A) Prebuild can be used to validate your search data, discarding rows. Postbuild can be used to play with the pages (hide, unhide), filling up scrolls.
Saveprechange is the last event where you can validate and correct your data before updating the database. Once it is done, database will get updated. Savepostchange will be used to play with tables which are not present in your component buffer.

A) Searchinit peoplecode performs before the search dialogue box displays.

Search save peoplecode performs after the operator clicks ok in the search record dialogue box.

  • Row select peoplecode is used to filter out rows of data.
  • Prebuild is often used to hide and unhide the pages.
  • Field default attempts to set defaults for fields without a value.
  • Field formula performs, after field default completes successfully.
  • Rowinit is used to initialize the rows.
  • Postbuild peoplecode performs after all the component build events have performed.
  • Activate event is fired every time the page is activated.
  • A) SqlExec means it bypasses the component buffer and it is directly contacts database to retrieve data. But it retrieves the data row by row and not possible for bulk insert.
  • But in the case of Create SQL we can able insert the data in bulk.

A) Think-time functions suspend processing either until the user has taken some action (such as clicking a button in a message box), or until an external process has run to completion.
Think-time functions

Following are Think time functions:

  • DoCancel
  • DoModal
  • DoModalComponent
  • Exec (only when Synchronous)
  •  File attach functions
  • Prompt
  • RemoteCall
  • RevalidatePassword
  • WinExec(only when Synchronous)
  • WinMessage
  • WinMessageBox

A) Compile stage
All the Preprocessor directives are compiled (which starts with #include).

Ex: All the SQC are run.

Check for the syntax errors for the conditions.

Ex: if for loop while loop are properly ended with the respective syntax.

Allocates memory structure if you are using the Arrays and load look up

Execution stage
starts interpreting the code line by line

Check for the
begin -program
Begin -heading
Begin- footer


  • Setup section
  • heading section
  • footing section
  • program section
  • procedure section

A) Translate Table:
Translate table is a special kind of table that is limited to validating data of four characters or less. The translate table serves as a universal prompt table and is effective-dated

Prompt Table:
Prompt table are used to provide users with validate values from other tables other values are generally populated by system users and are often application specific

A) .SQC is a Function Library file. It is like a sub program is saved by extension .SQC and this program can be called in the SQR program

.SQT is compile time/Run time file. When a file with XXX.SQR is compiled we get the output as XXX.SQT and when is XXX.SQT is executed we get the output XXX.LIS (List file/Output file).

  • – #include ‘setenv.sqc’
  • – #include ‘stdapi.sqc’
  • – #include ‘prcsdefn.sqc’
  • – #include ‘prcsapi.sqc’
  • – #include ‘curdtrim.sqc’
  • – #include ‘hrctlnld.sqc’
  • – #include ‘datwtime.sqc’

A) The major goals of Normalization are

– Eliminating redundant data (for example storing the same data in more than one table

– Ensuring data dependencies (only storing related data in a table).

  • – Load Look Up
  • – Arrays
  • – Multiple Report
  • – -Bnn
  • – Using SQT Files
  • – Run on the BATCH Server
  • – Proper Programming Logic
  • – Set processing
  • – SQL Tuning

A) Search Record: Specify the search record for the component. The search record controls access to rows of data in a table. Its keys and alternate search keys appear on the search page as criteria.

Add Search record: Specify if you want a different search record specifically for add actions.

A) Scroll area is used to maintain parent child relationship we insert grid in low level scroll

Example: assume we have 3 scroll levels in our page level1 level2 and level3 we insert grid in level 3

  • A) – Running from Application Designer.
  • – By calling People Code function.
  • – Running from DOS Environment (Debugging).
  • – Running from Application Engine People Tool.
  • – Running from Peoplesoft Application.

A) Based on Customer Business processes functional person maps requirements to PeopleSoft and performs the rules and the Configurations required. He is the one who collects the requirement and decides what customization is and what is delivered by PeopleSoft.

PeopleSoft Technical Guy is the Person who knows how to code in PeopleSoft to execute the requirement.

A) The newly added features in PS 8 Application Designer are as follows:

  • The Application Reviewer has been integrated with Application Designer in 8.
  • The PeopleCode has become VBA style with objects properties and methods.
  • The Meta SQL variables are introduced. The new variables like component, record, SQL has been introduced.
  • The Application engine now supports PeopleCode.
  • The scroll bars have become scroll areas in PS 8.0 etc.
  • – Component
  • – Separator
  • – PeopleCode

A) The Process receives a command line parameter where as the Report receives run controls from the page.

A) Various actions possible in Application Engine step are as follows:

  • – Do while
  • – Do when
  • – Do select
  • – PeopleCode
  • – SQL
  • – Call section
  • – Log Message
  • – Do until

One action can be called only once in a step of an Application Engine program.

A) Within each Application Engine program, you must define how frequently the program will issue a COMMIT. After doing so, each COMMIT becomes a “checkpoint” that Application Engine uses to locate where within a program to restart after an abend. This type of built-in logic does not exist in COBOL or SQR.

A) The State Record is a PeopleSoft record that must be created and maintained by the Application Engine developer. This record defines the fields a program uses to pass values from one Action to another.

Think of the fields of the Application Engine State Record as comprising the working storage for the Application Engine program. An Application Engine State Record can be either a physical record or a work record, and any number of State Records can be associated with a program. Physical State Records must be keyed by process instance.

An Application Engine State Record must have PROCESS_INSTANCE defined as the first field and the only key field. And, so that the system recognizes the record as a State Record, all State Record names must end with the _AET identifier.

A) It is n-tier architecture. We have client, web server, application server and Database server. We have jolt and tuxedo. We have WSL, WSH, JSL, JSH, QUEUES and services.

In database server we have system tables, PeopleTools tables and application tables.

A) Searchinit fires before the search dialogue page is displayed to the end use. For this reason searchinit is often used to enhance row level security by inserting and graying out certain values to the search dialogue page.

If default mode for component is search mode: only searchinit will fired .If default mode for component is new mode. Field default, field formula, rowinit, searchinit.

A) System variables and User defined variables.

Scope — Global, Component, Local.

A) In default processing, any blank fields in the component are set to their default value. You can specify the default value either in the Record Field Properties, or in FieldDefault PeopleCode

A) Field default specifies only the default value for a field when we are in Add mode.
Row init fires only when a row of data coming from database to component buffer.

A) Saveprechange—last event that executes before updating the data from component buffer to the database.

Savepostchange –fires after the updation of data in the database.

SQLEXEC — function directly interacts with the database.

A) Getlevel0 () —used the get the rowset of the level0.

%subrec–is used only in Dynamic View SQL where it expands to the columns of a subrecord:

%selectall–%SelectAll is shorthand for selecting all fields in the specified record, wrapping date/time fields with %DateOut, %TimeOut.

A) An array is a collection of data storage locations, each of which holds the same type of data.

The maximum depth of a PeopleCode array is 15 dimensions.

Push and unshift are the functions of the array used to add the elements into the array one from the end of the array and one from the beginning.

Pop is a function of array used to select and delete an element from the end of the array.

A) Getrowset –is used to get rowset for a record in the component buffer.

Createrowset—is used to create rowset for a record which in database, and is also called a Standalone rowset

Postpones some user actions to reduce the number of trips to the database so that increases the performance (in system edits, field edit, and field change).


1) Reduces the network traffic.

2) Increases the performance.

&fld=Getlevel0 ()(1).GetRowset(Record..GetRow(1),
GetRowset (Record.).GetRow(1),
GetRowset (Record.).GetRow(1),
GetRecord (Record.).GetFieild(Field))

a) Field level security
b) Row level security
c) Maintain security
d) Definition security
e) Portal security.

A) To authorize a user to run a process, the process group, which contains the process or report, should be added to the permission list of that user.

To give access to the records that are to be used in query, we have create a new query security tree and add the records which we want to give the access and then assign a access group to the tree. After that we have to add that query tree and query access group to the permission list.

The user should have the permission to update the object. This is given by the Definition security. The group, which holds the object, should be added to the permission list of the user in update mode.

  • – Extract data from the legacy system
  • – Reconcile the extracted data
  • – Identify the tables to be leaded with the new system
  • – Data Mapping
  • – Identify the tools (SQR or Import Manager or SQL Loader etc)
  • – Write programs to perform conversion
  • – Test the programs using test data
  • – Check the data outline
  • – Reconcile concerted data.
  •  – Data conversion
  • – Reports
  • – Interface programs.
  • – Create/modify/add run control table if you have any new fields
  • – Create/modify/add run control page if you have any program inputs
  • – Create a menu definition (Note Menu group name: XYZ)
  • – Give operator security
  • – Create Process scheduler definition
  • – Use-Process definition – process definition add
  • – Give report name and report type
  •  – & Data base reference fields – Read only
  • – $ Character (Same for Date)
  • – # Numeric
  • – { } Variable in ASK or # define
  • – [$ variable] Dynamic variable referencing
  • – SQL Tables
  • – SQL views
  • – Dynamic views
  • – Derived / Work Records
  • – Sub Records
  • – Query views

Dynamic view that can be used like a view in pages and PeopleCode, but is not actually stored as a SQL view in the database. Instead, the system uses the view text as a base for the SQL Select that is performed at runtime.

Dynamic views can provide superior performance in some situations, such as search records and in PeopleCode Selects, because they are optimized more efficiently than normal SQL views.

  • – Company table
  • – Installation
  • – Location
  • – Department
  • – Salary Plan
  • – Salary step
  • – Job code
  • – Pay group
  • – Benefit Programs

It is the tool, which performs, background SQL processing against our application data tables. It is an alternative for COBOL, SQL or SQR

  1. Standard: Standard entry-point program.
  2. Upgrade Only: Used by PeopleSoft Upgrade utilities only.
  3. Import Only: Used by PeopleSoft Import utilities only
  4. Daemon Only: Use for daemon type programs.
  5. Transform Only: Support for XSLT Transform programs.

The following are the advantages of using Application Engine.

Unlike applications developed using COBOL or SQR, Application Engine applications reside completely within your database. With Application Engine, there are the programs to compile, no statements to store, and no need to directly interact with the operating environment in use. You can build, run and debug your applications without existing People Tools.

Effective Dating
Application sections are effective dated-meaning you can activate/deactivate a section as of a particular date. This enables you to archive sections as you modify them, instead of destroying them. In the future if you decide to revert to a previous incarnation of a section you can simply reactivate it.

SQL / Meta-SQL Support
In addition to writing your SQL within Application Engine, you can also copy SQL statements into Application Engine from SQL talk or any other SQL utility with few – if any changes.

RDBMS platforms have many differing syntax rules – especially in regard to date, time and other numeric calculations. For the most part you can work around this problem using Meta-SQL which Application Engine supports.

This language was created to handle different RDBMS SQL syntax’s by replacing them with a standard syntax, called Meta-strings.
With in Platform specific sections

You can also have the ability to call generic portions of SQL statements by using the & CLAUSE function. This means you can write your generic SQL portions just once, and reference them from your different platform versions.

Set Processing Support
Set processing is a SQL technique used to process groups (or sets) of rows of one time rather than one at a time. Application Engine is particularly effective of processing these types of applications.

Object Orientation
unless designed to anticipate changes in field attributes. COBOL applications may need to be modified when things change. If a developer increases a field’s length, then it may need to be changed in every instance where the COBOL program uses this field as a bind or select variable.

This can require a good bit of effort. And, if not handled properly, a change like this can cause confusing errors. For example, if the length of a field in the COBOL is wrong, it may work fine, or you may get an error, or the field may get truncated.

One of the corner stones of People soft functionality is Application Designer. Because of the way it works, most field attributes (type, length and scale) can be specified once, globally. If the field is used on more than one record, it has the same attributes in each of these records.

you can use Data Mover to import/export your applications. This means that you can export an application(s) into a file, and attach it to an e-mail message. Then, the recipient can simply use the IMPORT feature of Data Mover, and the application is ready to run.

Search records are assigned to a component in a menu.

The search record for the panel does not have to be the same as the record being accessed on the panel because the search record is used to search for and or Filter the search key.

The error statement issues a message and the condition causing the error must be corrected before proceeding. The warning statement issues a message and the user can proceed without changing any values.

The process scheduler can run jobs on the client or a server machine.

There are 4 types of layers in Crystal Reports. They are:

  1.  Report Header – In this, we will write title, date, and logos of the company.
  2.  Page Header – Used to write column headings.
  3.  Detail – Contains database column values.
  4.  Page Footer – Used to write page numbers and address.

There are three types of Security administrator profiles:

  1.  Access Profile: It is an RDBMS ID. It provides the necessary Ids and password for behind-the-scene process.
  2.  Class Profile: It is defined to organize the users into groups with common access rights or privileges.
  3.  Operator Profile: It is commonly referred as a Operator Ids or operator having associated sign on passwords.

A) The Security profile which is created as an operator security to restrict access to People soft data.

A translate table is a prompt table that serves as data dictionary to store values for fields that don’t need individual prompt tables of their own.

1. Field type should be character
2. Minimum Field length should be 1 to 4 characters.
3. Field values should be small (static).

Past date – Within 30 days of current date is called past date.
History date – Above 30 days of current date is called History Date.

A) A Group of non-repetitive fields is called a record.

There are six types of records are there, they are:

  1. SQL table – Corresponding physical SQL table in the database we create with build option.
  2. SQL View – It is not a physical SQL table on the database, it gives the replicate of joined tables. It is used for security and faster access.
  3. Dynamic View – It is actually stored in the form of SQL view text and is executed at runtime. It uses the built in indexes. Whereas normal view is executed and stored in the database.
  4. Derived/Work record – It is a temporary workspace to be used during on line panel processing and is not stored in the database, therefore derived work records are not built. They cannot be seen in the update/display mode. Once the panel is cancelled it is removed from the buffer.
  5. Sub Records – A group of fields commonly used in multiple records.
  6. Query View – A Query view is a view constructed using People soft Query tool.
  1. Field Display – It shows the field attributes (fieldname, Type, Len, Format, H, and Shortname, Long name
  2.  Use Display – It shows key related characteristics and default values for the fields (Field name, type, direction indicates, search key, list, system indicates, audit, H, default values)
  3.  Edit Display – It shows the auditing options available for the fields (field name, type required , edit, prompt table, reasonable date, people code)
  4.  People code display – It shows the different events and the user can choose required event to write people code.

PeopleSoft Application Engine program is a set of SQL statements, PeopleCode, and program control actions that enable looping and conditional logic.

A Collection of software programs, utility scripts, database tables and data that provide the frame work for creating, using and modifying people soft applications. People tools provide built in business functionality and maintain the capability that directly increase productivity and simplify system design.

A) It is an integrated development environment that is used to develop People soft applications

The following are the uses of Application Designer.

  1.  Design and create database tables.
  2.  Design on-line pages
  3.  Controlling on-line processing flow.
  4.  Providing security for the database.

User defined collection of related definitions (fields, records, pages, components and menus).

The following are the attributes of Application Designer are,

  1.  Title bar
  2.  Menus
  3.  Toolbar
  4.  Project Workspace – it arranges PeopleSoft objects in Windows explorer format
  5.  Objects Workspace – Open Multiple Object and store in main window.
  6.  Output Window – Deals about the output generated by using project development or up gradation.
  7.  View tabs – Development tools / Upgrade

PeopleSoft is a table-based system and it contains three major sets of tables,
1. System catalog tables; it stores physical attributes of tables and views. (e.g. Sys, Columns, Sys tables)
2. People Tools tables; it contains information that you define using People Tools (e.g. PSRECDEFN, PSMENUDEFN)
3. Application Data Tables; Store the actual data users enter and access through People Soft application windows and pages. (E.g. PS_ <>)

The following are the list of RDBMS supporting PeopleSoft application.
DB2, SQL Base, Oracle, Microsoft SQI Server, Informix

Fields are basic building blocks in People soft and can be used in application when they are added to at least one record. Fields are globally defined.

The common filed attributes are:
1. Data type 2. Field name 3. Long name 4. Short name 5. Formatting 6. Help context number 7. Translate values – stored in separate table (XLATTABLE).

Fields are:

1.Globally defined
2.Reusable components and can be shared across multiple record definitions
3.A change to the Field properties affects all the records that include the field.

KEY: The record knows a field, which uniquely identifies each row, as a key.

  1.  We will search and retrieve data from the database according to the key field.
  2.  This will not allow duplicate and null values.
  3.  It is a primary key
  4.  It allows multiple keys
  5.  Maximum keys allowed in a record is 15
  6.  It should be placed at the top of the record definition.

Duplicate Order Key:

1. It provides a way of ordering data in the table when the duplicate values are allowed.
2. It will create index for the column. However the index can be disabled.

Alternate Search key:

1. it identifies the field as a key that provides an alternative path into table data.
2. Due to alternate search key the system becomes slow, because database index will be created when SQL creates the tables, so it will consume the disk space.
3. It allows duplicate values.
4. Alternate search will be seen in the search dialog box when update/display mode is selected.

Descending order key:
It is used to retrieve data in the form of 3-2-1 or C-B-A and normally it is used in Effective date.

There are 6 types of securities:

1. RDBMS Security 2. Network security 3.Operator security 4. Object security 5.Tree level security 6. Query security (row level security)

Standard menu: It appears in the menu bar of a PeopleSoft application.
2. Popup menu: Allows the user to navigate related information in other areas of application by right clicking on a page or component.

KEY-It is the primary key of the record. Can be used as search key or need not be. Alternate search key-it is used for searching purposes.

Update/display – can view current and future rows. Can update only future rows.
Update/display all – can view history, current and future rows. Can update only future rows.
Correction – can view and update history, current and future rows.

We have field level audit and record level audit. The structure of the table in record level audit is: AUDIT_OPRID, AUDIT_STAMP, AUDIT_ACTN, AUDIT_RECNAME and can add fields from record.

A) We have prompt table edit, yes/no table edit, translate table edit as the table edits.

Conditions are:
1) The child record should have all the key fields of parent record and at least one more key field other than the key fields of parent record.
2) We should mention the parent record in the record properties of child record.
3) We cannot go for more than three levels of parent/child relationships.

Advantages are:
1) To have referential integrity.
2) Data dependencies
3) Eliminate redundant data

A) Yes we can insert subpage using insert subpage. After insert subpage into main page, drag the subpage into the grid. When we save the page we are successfully able to save the page showing that we can insert a subpage into a grid.

No we cannot hide the primary page of a component. If the component had only one page then by making this page also invisible we won’t have any component existing so we are not allowed to hide the primary page.

PeopleSoft Interview Questions & Answers