Top 50 Peoplesoft Application Designer Interview Questions You Must Prepare 19.May.2024

In PIA end users do not have any peoplesoft specific software installed on their machines, they use Internet browser to connect web server, which interacts with application server.

When you use the add action a new high level key is created at level 0, when you insert a row of data you are adding information that has a one to many relationship with the key at level 0.  Generally you insert rows within scroll areas are grids.

Web server acts as the front end of the PIA.

The Web server includes Web services software that displays the HTML to the browser.  It also includes java servlets that manage each session’s connection to the application server.

Component buffer contains active component data i.e. level 0 data. Data buffer contains multiple components of data.

No, Peoplesoft offers a different tool data mover to trport application data.  Projects only hold people tools data.

Yes, we can have 2 scroll areas at level 1.

From search key: Gives the values from the specified value to the max values For ex:  if we have to search values after emplid of 100 to the max then we should enter 100 in the from search key. (total values to be displayed are 300 values)

Through search key: gives values from the given value – 300 values.

Search Record: The search record controls access of rows of data in a table, and its keys and alternate search keys appear on the search page as criteria. The search record might also contain logic to filter the search to secure rows of data—row-level security is implemented in this way

Add search record: Add search record is specifically used for add actions. If we are using a search view as a search record for performance in this situation we will put the main record as a add search record so that we can enter new values in this main record. The system default is the standard search record if we don't specify an add search record

Prompt tables are the most common methods for validating data entry in peoplesoft applications.  This is like application data table the only difference is that it stores values that other tables can validate against. Prompt table is a control table. (Country table and Company table)

Software that resides on a web server and displays HTML for a Browser.

EFF_STATUS usually accompanies EFFDT. For example in Department table suppose we inactivated one dept from so and so future effdt, from that future date onwards this dept is going to be inactivated, after that whenever we click the link prompt button of dept id field we can see only active departments.

It is a peopletool runtime engine that controls the processing of the application.

People Code can be used on the secondary page just like any other page.  We cannot write People Code for Subpage.

Level Based controls are Scroll Area, Grid and Scroll Bar.

Scroll areas have their page fields arranged by the developer. Page fields in a gird always appear in a single row. In grid we can view no of rows by giving occurrences. Scroll areas provide a row separator when you select multiple occurrences of data. We can view multiple rows in a grid while in a scroll area you can retrieve only one row at a time. One can have nested scroll areas but not grids. You can insert grid in a scroll area but not scroll in a grid.

Keys determine the structure that makes a row of data unique.  A key may also be a search key, which makes the field appear on search pages to help users locate rows of data.  Alternate key are only used for search pages and have nothing to do with the table structure. Alternate search key provides an alternate path into the table data. It will appear to the user whenever he clicks advanced search option.

It can be used like a view in pages and people code but not stored in database as a sql view, instead the system uses the view text as a base for the sql select that is performed at runtime. These views shows superior performance in some situations such as search records and people code selects.

Advantages of Using Search Views instead of Search Table

As the search view is created with selected fields there will not be much stress on app server and there by improves the performance.  Search View also gives additional search criteria.

Whenever we want to enter more than one traction on the same day for an employee like promotion and salary hike we will use effective sequence. Effseq number starts with 0

The Build process uses Data Definition Language (DDL) to construct a physical database component that is based on the associated record and field definitions that you created. With the Build feature, you can create the following.

Create Tables: Creates structure in database.

Create Index:  When you build a table, it also creates index for that table

Create View: It will create a sql view.

Alter Tables: When you don’t want to lose the existing data we build that record with this Create Trigger after the Build process begins, there are no runtime prompts until the process is complete. All events are written to the Build log.

No we cannot have Nested Grids.

It will store values for fields that don't require an individual prompt table, It is also known as xlat table. The data we store in the trlate table does not change often. Each database contains one trlate table. (blood types, days of the week)

Build script file: which generates a sql script that can be run against the desired database to build the table.

Execute SQL: which builds the table in the database.

Execute and build script: which both build the table and generates a sql script.

Primary record data, related display fields, trlate values and derived work records. If you keep key and alternate search key on 0 level then only 2 values will appear in Component Buffer the other field values will not available. In Component Buffer if you want to see the other field values then place a non-key field on 0 level and make it invisible. Every level will have its own primary record. A level 0 primary record and a search record can be different but the key field values should match.

Tableset Sharing is a method of filtering prompt data so that only appropriate values are available for data entry. With tableset sharing, a single table can offer different values based on underlying business rules.

Table set Sharing is organized around these basic elements:

  • Business Units and traction tables
  • SetIDs and control tables
  • Business rules.

  • System Catalog Tables
  • People Tools Tables
  • Application Data Tables 

System Catalog Tables: System Catalog Tables stores physical attributes of the tables and views. Naming convention for these tables is SYS.

PeopleTools Tables: The objects that we develop using the People Tool Objects are saved in PeopleTools Tables. Naming convention for these tables prefixed with PS_. Once a field is created it would be stored in psfield definition table, once a record is created it would be stored in psrecdef. (Only definition/structure is stored)

Application Data Tables: stores the data, which is entered by the user through PeopleSoft application windows and pages. Naming convention for these tables is PS_.

Application Data Tables are divided into 2 types:

  • Control Tables
  • Traction Tables

Control Tables: Define the company structure and processing rules.

Traction Tables: These are tables used to record our day-to-day tractions, such as personal data about employees.

Tuxedo manages the multiple connections to the database.  Jolt is a java based communication protocol.  The assembled HTML is sent to the web server.

Area in memory, which stores data for the currently active component. Whenever you open a component the entire data for that component is retrieved upfront and stored in the application server. Component buffer is a temporary buffer allocation.

Level 0 fields must be associated with record fields of search record. 

SQL Table: A physical SQL Table present in the database, this is the default.

SQL View:  Not a physical SQL Table but corresponds to a view written in SQL referring one or more fields from different tables. This gives a filtered view of information stored in tables. Stored in the database as a view. (Query view is system generated and SQL views are created by developer) whenever you modify a record you need to take care: check if any views are dependent on this record. 

Dynamic view: A record definition that can be used like a view in pages and People Code but is not stored as a SQL view in the database. Dynamic views provide superior performance. 

Derived/Work: We can use it to calculations. It is not an object, and also we can use it as a funclib. A temporary workspace to use during online page processing. A derived or work record is not stored in the database, so no need to build it.

Sub Record: Group of fields used in multiple records like companies having address data of employees. If you have to use the same fields in different record definitions, then we will store all those fields in a subrecord and add this subrecord as a field to the record definitions. Stored in the database.

Query View: using the PeopleSoft Query we don’t need to write a query it will automatically generate by dragging and dropping. This is a two tier tool and runs through application designer and produces SQL dependent upon the host RDBMS.

Temporary Table: we will do all the manipulations on the data present in the temporary table. Increases the performance, as it is not stored in the database. Used mainly for the AE batch processes.

Page allows Nested levels up to 3 levels.

Yes, we can have a sub page at 0 level.

Any time one intends to change an existing object we should always attempt to find out if the changes are affecting on other system objects. Edit> find definition reference: If a definition reference any other definitions we must research the connection and determine with the referenced object will have any effects – then we need more follow-up.

  1. Web browser
  2. Web server
  3. Application server
  4. Batch server
  5. Database server

The application server maintains a persistent connection to the database, and converts peopletools and application table data into HTML.  The server then provides the HTML to the web server for delivery to the browser.

The application server also plays a role in connecting development workstations to the database for three-tier connections.

Setid's are key to linking business units to record control groups. It is the key on all control tables in tableset sharing Every row in a control table includes a setid as its key.  Setids partition the data into groups or sets of data that are appropriate for each business unit.

Whenever a field is a key field we cannot have duplicate values in that field. Key is used to identify the field as the search criterion that uniquely identifies each row.

Duplicate values are allowed, for example in composite keys like if we have 4 fields at least one field should be unique

ex: in job table emplid, emplrcd, effdt and effseq

Yes we can. But performance issues say that a grid should always reside in the last level

  • Prompt Table With Edit
  • Prompt Table No Edit
  • Trlate Table
  • Yes/No Table Edit

Prompt Table No Edit:  Provides List of Suggested values, which users cannot edit.

Prompt Table With Edit: Users can edit the contents of the field against the values that are maintained in the specified prompt Table.

Trlate Table Edit: Which is nothing but a trlate table created by developer.

Yes/No Table:In some situations we want the user to enter only Boolean values like yes or no true or false in this situation we will use yes no table. The Trlate Table for ex: PSYESNO. When you select the Yes/No Table Edit, the system automatically points to the PSYESNO field in the Trlate Table

Yes we can have 2 records at level 0 provided should match the key fields. 

Record Level Audit: for creating a record for record level audit we need to have 3 fields Audit_operid, Audit_stamp, and Audit_action. We can create our own audit records by prefixing Audit_

Field level Audit: By using delivered PS_AUDIT table we can set field level audit.

Prompt Table No Edit:  Provides List of Suggested values, which users cannot edit.

Prompt Table With Edit: Users can edit the contents of the field against the values that are maintained in the specified prompt Table.

Data buffer contains multiple components of data.

Record properties apply to the entire record definition. Record field properties are not shared among records, they are specific to a single record definition and are stored with the record. Each record stores a unique set of record field properties while the primary field definition remains the same.

Occurs Level: Occurs level determines the level of the object that we inserted. By using this we can set levels for example after inserting a level based control in level 2 if you want to change the level based control to level 1 you can change the occurs level.

Occur Count: Occur Count determines how many rows should be displayed.  For ex if you want the scroll to display only 5 rows then we will give occurs count to 5.

To maintain parent child relationship if the parent table contains one key field the child table should contain the same key field and one additional key.

In parent child relationship we should have a relation between two tables ex: if “A” is the parent table with “x” as a key and “B” is another table then “B” should have “x” as a key with another key “y”, then “B” is the child table of for table “A”.

Each scroll area and grid is associated with a single primary record.  This represents the application data table the page fields are associated with.  All fields in a scroll area or grid must be associated with one (and only one) record, which is the primary record for that level.

Date on which a table row becomes effective, the date that an action begins. For example, if you want to close out a ledger on June 30, the effective date for the ledger closing would be July @This date also determines when you can view and change the information. Pages or panels and batch processes that use the information use the current row. Effective date enables us to keep historical, current, and future information in tables. There are three types of effective dates: Current, History and Future.

Auditing adds overhead to tractions that will slow database performance. Audit tables can grow to be quit large, again draining resources.

The search page takes you to a component the component is made up of one or more pages with each page containing several fields that hold the data.

We will add the component to a Menu and give permissions and security.

Yes , we can use same component in any no of menus