Showing posts with label PeopleTools. Show all posts
Showing posts with label PeopleTools. Show all posts

What are search Keys in a record? How is it different from alternate search keys?

The property search keys of a record comes into picture when you are in the search page of a component or in a prompt dialogue page where you uses the record.

When you load a component, you can see some fields coming up to search for a value. These fields are the fields which are marked as the search keys for your search record. If you do not have any search key for your component, then you will be directly taken into the component.

Your alternate search keys are non mandatory search keys for your component. Think of using it if you want your user to search the component based on some additional fields. In your component properties, you can mention whether you want to display the alternative search keys by default. Normally the alternative search keys are displayed only if the end user clicks on advanced search option.

How will you implement level 4 while designing a page?


With the delivered PeopleTools design it is not possible to implement a level 4. You can only have upto level 3. The allowed levels are
1. Level 0
2. Level 1
3. Level 2
4. Level 3

But often there will be business scenario where you need to show a child level data corresponding for a level 3. In such scenarios you can use other alternative workarounds to display Level 4 data. One of the most popular workaround is to create a secondary page and provide a push button or hyperlink which will open the secondary page modally. The secondary page have data or grids with no auto select option. Now you can pass the keys of your level 3 data with the help of a work record. Now based on the values in the work record, you can fill the data in the secondary page on the PageActivate event.

If your level 4 has many nested childs or complicated logics, you can think of a new component and can open that component modally.

Yet this is just one of the workaround, you can have your own methods to display level 4 data. But one thing is sure, you need to manually handle level 4 data, PeopleTools will not provide any data handling method/property/functions for supporting level 4.

How can a component have more than one search record? Give a situation.

You might want to reuse the same component multiple times with different search records. You can accomplish this by overriding the component search record at runtime when the component is opened from a menu item without creating separate copies of the component. The component override is temporary, and occurs only when the component is opened from the menu item in which the override is set. It does not change the component definition.

Why do PeopleSoft often use views as search records?

Search views are used for three main reasons.

1. Adding criteria to the search dialogue page

2. Providing row level security.


3. Implementing search page processing.

How does peoplesoft use views? Which are online functions?

 People soft uses views for search records, summary pages, prompt views, reports.

Search records and summary pages are online functions.

What are the different ways to setup row level security?

We can setup row-level security using a SQL view that joins the data table with an authorization table. and By having Query search for data using a query security record definition. The query security record definition adds a security check to the search.

What is Record Group? Which records can be included into a record group?

Record group consists of records with similar functionality. To setup a record in record group we should enter a set control field value in record properties

What is Auto Update?

This record field property is used to update the date field of particular record with the server's current date and time whenever a user creates or updates a row. Even the user enter the data into that field, the data which the user enters will be updated by the system’s current date and time.

What is an Expert Entry?

Expert entry enables a user to change from interactive to deferred mode at runtime for appropriate transactions

Can you hide a primary page in a component? Reason?

No we can not 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.

What conditions are required to establish parent child relationship between two records? What are the advantages with that?

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 can not go for more than three levels of parent/child relationships.

Advantages are:

1) To have referential integrity.


2) No need to enter information again and again

What are Table Edits?

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

What types of audits are supported by people soft? In case of record level audit what is the structure of table?

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.

Which effective dated rows can be retrieved in update/display mode, update/display all and correction mode?

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.

What is the difference between Set Id and a Business Unit?

Where a Business Unit organizes your company or your organization, SetIDs
help you organize your data within the system. The HRMS system uses tables
(Control Tables or Prompt Tables) that use a high-level key that enables
you to identify and retrieve data from the system. A secondary high-level
key,referred to as a SetID, has also been added on various tables. SetIDs are
simply the labels used to identify a TableSet. Business Unit and SetID
functionality in PeopleSoft also provides you with a higher business

level for reporting purposes and other business data roll-up.

What is Connect id?

 A Connect ID is a valid user ID that, when used during login, takes the place of PeopleSoft User IDs for the bogon process. Using Connect ID means you don’t have to create a new database user for every PeopleSoft user you add to the system.

Connect id performs initial connection to the database when the user tries to sign-on.

Dynamic view

The only difference between the standard view and dynamic view is that the dynamic view is not defined as a view to the database—it is stored on the client and run as a Select at runtime.    
The SQL used for dynamic views should be as simple as possible to avoid errors.We can not use sub query inside a dynamic view. If query is too complicated we can create a static view that the dynamic view references.

SELECT A.EMPLID
 ,A.EMPLNAME
 ,A.STAT_FTE1_CF
 ,A.STAT_FTE1_CM
 ,A.STAT_FTE1_FF
 , STAT_FTE1_FM
  FROM PS_USHR_M_HIS_VW A

 WHERE A.MANAGER_ID = %OperatorId

What is the difference between component buffer and data buffer?

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)

Can you place Sub page into Grid? If yes How?

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.

How can we have DYNAMIC Prompt table for Record Fields?

Most of the times we would have faced a requirement of having Dynamic prompt table for Record Fields. Also PeopleSoft itself very much utilizes Dynamic Prompt table. How can we achieve the same in our project????
Here we go
This is accomplished by 2 ways
  1. Using EDITTABLE fields for Prompt Table
  2. Using Dynamic Views
1. Usage of EDITTABLE Fields

In this method, Prompt table property of Record Fields should be assigned with %EDITTABLE value. Actually what does it mean????
Prompt Table value for the Record Field is populated from the Record Field DERIVED.EDITTABLE value. The Record Field DERIVED.EDITTABLE should be assigned with value either in one of the Peoplecode events (Either in FieldChange or FieldEdit or RowInit events). This is simply done by
DERIVED.EDITTABLE = "PERSON_NAME";

Note: EDITTABLE Field should be present in the SAME Page, where Record Field (In this case, The Field is nothing but EMPLID) is also referred. If the Record Field is not coming under Component Search Record Field, there is no need for placing the EDITTABLE field in the Page. 

For more details you can refer this article.

2. Usage of Dynamic Views
As we know, while creating Dynamic view, there is no need to specify the SQL. This SQL should be generated dynamically and the same should be assigned to the Record Field.



Say for example, if we see the above Record Field TASK_PROFILE_ID, it is assigned with dynamic prompt table view TL_TSKGRP_DVW and this view TL_TSKGRP_DVW is dynamically initialized by the following Peoplecode, which can be assigned both in FieldChange and RowInit events of the Record Field TASK_PROFILE_ID.
RECORDNAME.TASK_PROFILE_ID.SqlText = "SELECT T.TASKGROUP, T.TASK_PROFILE_ID, T.DESCR FROM PS_TL_TSKGRP_PRF_W T WHERE T.TASKGROUP = '" | &TSKGRP | "' AND T.EFFDT =(SELECT MAX(T1.EFFDT) FROM PS_TL_TSKGRP_PRF_W T1 WHERE T1.TASKGROUP = T.TASKGROUP AND T1.TASK_PROFILE_ID=T.TASK_PROFILE_ID AND T1.EFFDT<= %datein( '" | &maxdate | "') )";

Both &TSKGRP, &maxdate are dynamic bind parameters.