What is the Difference between Display control field and Relational Display control field?

 What is the Difference between Display control field and Relational Display control field?
        A related display field is for display purposes only - it always references a row that's
       not being updated from the current page. The display control when you select
       Related Display field, you need to relate it to the appropriate control. A list of all the
       controls on the page marked as display control fields in the Related control field box.
       Select the control field to which this particular related display is related

what is the Difference between Prompt Table and Translate Table?

what is the Difference between Prompt Table and Translate Table?
         Prompt Table

                If you want to provide prompt support for a field based on the data
               stored in a separate table, enter the name of the table you want to use as the
                Prompt Table at: Record field properties - Edits - Prompt table.
                This will enable users to position their cursor on the field and press F4 to
                 prompt for a list of values stored on the table.

          Translate Table

                     The translate table is a table that stores values for fields that
                       need   to be validated but don't need individual tables of their own.  


What is the difference between DiscardRow() and StopFetching()?

What is the difference between DiscardRow() and StopFetching()?

A DiscardRow function in RowSelect PeopleCode causes the component processor to skip the current row of data and continue to process other rows.

A StopFetching statement causes the component processor to accept the current row of data and stop reading additional rows.

If  both statements are executed, the program skips the current row of data, then stops reading additional rows.

How is the difference between SaveEdit and FieldEdit?

How is the difference between  SaveEdit and FieldEdit?
SaveEdit and FieldEdit are both used for validation, but each one is performed at a different time.
 SaveEdit is performed when the operator saves.
FieldEdit is performed when the operator changes a field. 
SaveEdit is also performed on every row of data, unlike FieldEdit that is only performed on one row of data. When an error is received in FieldEdit, the field is turned red, in SaveEdit fields are not turned red

How to Skip a Search Record Prompt When You Know the keys

How to Skip a Search Record Prompt When You Know the keys
You have two settings to choose from: skip if possible (0) and force display (1).

If you use the skip if possible setting, then you need to have the keys. Assume your
keys are EMPLID, EMPL_RCD, and EFFDT. Here is what the SearchInit PeopleCode
would look like:

SetSearchDialogBehavior(0);
EMPLID = %EmployeeID;
EMPL_RCD = 0;
EFFDT = &DateVariable;

Creating a new instance in Component Interface

Creating a new instance in Component Interface
The first job is to get a Component interface(CI) ,using GetCompIntfcfunction. This CI definition has already been created in the application designer.
Then the "Create Keys" are set,these are values which uniquely identifies each row of data.If any duplicate set of create key values occur,a runtime error occurs. After keying in the key values,the create method is used to populate the CI with the key values.This creates an instance of data.
Next the remaining fields of the row are entered.
Once all the values have been entered the new instance of data is saved.

Local ApiObject &MYSESSION;
Local ApiObject &CR;

&MYSESSION= %Session;
&CR=&MYSESSION.GetCompIntfc(CompIntfc.CR_EMP_CI);
&CR.CR_EMP_ID = "101";

&CR.Create();
&CR.CR_FIRSTNAME="Chinnu";
&CR.CR_LASTNAME="Raavi";
&CR.CR_MARITAL_STATUS = "M";
&CR.CR_PHONE_NO = "1234567890";

&CR.save();

How to implement Record Level Audit in PeopleSoft

How to implement Record Level Audit in PeopleSoft
How to implement Record Level Audit in PeopleSoft .

Following are the steps for record level auditing .

1) Clone the record you wish to edit.

2) Add the audit fields: (Key Fields).
AUDIT_OPRID
AUDIT_STAMP
AUDIT_ACTN
Check off the "system maintained" check mark on the record field properties.

3) Delete fields that won'™t be audited.

4) Remove all key structures.

5) Save and build the record.

6) Link the base record to the audit record.


How to Implement Component Interface in peoplesoft

How to Implement Component Interface in peoplesoft
General points to implement Component Interface and understand the component/page structure.

1) create the component interface.

2) always accept the default loading fields structure.

3) remove the unwanted fields from CI.

4) provide necessary access to CI – permissionlist.

5) test your CI, if any update/insert you do CI returns 1 if it success and ˜0 for failed.

6) arrange the fields as per the page design/ tab order.

7) set get history items to true.

8) Set interactive mode to true. Note this setting affect the performance. It should be used only for testing purpose.

9) pass the key field values.

10) Check the prompts if dynamic prompts are being used on the page. if yes make sure to check the values against these tables.

11) check if any prompts are being used on the page.

12) Put a validation for prompts before passing to CI. Most of the cases we may receive invalid values in prompt.

13) log into error tables if any invalid prompt values found.

14) at child level > set the collection properties insertitem/item.

15) If collection item count is more than one then set to insertitem else item. for first row always property as item .

16) Insert item > just like clicking on + button.

17) enable the save and cancel methods.

18) Do not use save/cancel methods inside the loop. It may lead failure of your program.

19) Always use rowset/arrays for looping the rows, avoid using createsql̢۪s .

20) Always set ignore property (if any error found it will skip that row and process the next row).

21) Set Commit at the end of the step and inside the save method.

22) make sure your CI session is active.

23) finally test your CI thru App Designer.


Folder Creation from SQR

Folder Creation from SQR
If a folder has to be created from a SQR then we can use call system to accomplish this. Let us say if MyFolder is what needs to be created in 'C' drive.

Then follow the code snippet below:

Let $folder = 'C:\MyFolder'
Let $cmd = 'mkdir ' $folder
call system using $cmd #status

Call Sections through PeopleCode in Application Engine

Call Sections through PeopleCode in Application Engine
Syntax for calling Sections through PeopleCode in Application Engine

/*This code is used to call different section in Application Engine based on conditions*/


If (RecordName.FieldName= " ") And
      (RecordName.FieldName = 0) Then
   RecordName.AE_SECTION = "Something";
End-If;

If (RecordName.FieldName <> " ") And
      (RecordName.FieldName = 0) Then
   RecordName.AE_SECTION = "Something";
End-If;

If (RecordName.FieldName = " ") And
      (RecordName.FieldName <> 0) Then
   
   RecordName.AE_SECTION = "Something";
End-If;
If (RecordName.FieldName <> " ") And
      (RecordName.FieldName<> 0) Then
   RecordName.AE_SECTION = "Something";
End-If;

How To release Temp table locks in Peoplesoft

How To release Temp table locks in Peoplesoft
The instacnce need to be deleted from PS_AERUNCONTROL , PS_AETEMPTBLMGR, AERUNCONTROLPC.
PS_AETEMPTBLMGR controls the temp table locks. Also peoplesoft delivered Application engine AECLEANUP can also be used.

DELETE FROM PS_AETEMPTBLMGR WHERE PROCESS_INSTANCE = :1;
DELETE FROM PS_AERUNCONTROL WHERE PROCESS_INSTANCE = :1;
DELETE FROM PS_AERUNCONTROLPC WHERE PROCESS_INSTANCE = :1;

How to Hide Group Boxes on Peoplesoft Pages

How to Hide Group Boxes on Peoplesoft Pages

If the requirement is to selectively display group box in case a particular condition is true or in case for a particular employee or role, you can display the group box by the below code:

if ASGN_VW.EMPLID = "101" Then 
DERIVED_HR.AB_PLAN_GRPBOX.Visible = False; 
Else 
DERIVED_HR.AB_PLAN_GRPBOX.Visible = True; 
End-If; 

Integration Broker Interview Questions:

Integration Broker Interview  Questions:
  1. What are the features of Integration Broker?

Ans. It works in synchronous and asynchronous modes, it works in Hub and spoke model.


 2.What is the significance of Gateway?
Ans. Gateway is the pipeline using which messages will be transferred.

3.What is node?
Ans. Node is the point of integration, after it is defined gateway and connectors have to be added to it

4.What is a message?
Ans. Message is the structure designed with records and fields.

5.What is the significance of message channel?
Ans. Message channel is used to route messages with in the message channel in sequential manner and is used for partitioning.

6.Message Channel security needed to send messages?

Ans. No,   It is given only for display in Message Monitor

7.Where can you check the connectivity of databases, message status, domain status?
Ans. Message Monitor

8.What is meant by Listening connector and Target connector?
Ans. Listening connectors listens to the requests and passes through the gateway to Target connectors, this inturn sends messages to the third party application

Enabling and understanding SQL trace in PeopleSoft

Enabling and understanding SQL trace in PeopleSoft
Enabling SQL Trace

One of the most powerful trouble-shooting tools provided in all versions of PeopleSoft (PS) applications is SQL trace. This tool provides a programmer with a file containing all of the SQL statements executed by the application during an individual user's PS session. The file can be used to trouble-shoot unique constraint violations, buffer errors, missing prompt table entries, and other common PS issues. The trace file is also frequently requested by the PeopleSoft help desk when you log cases with them, so you definitely want to know how to create and use this file.

To enable SQL trace in versions 8.0 and higher, the user simply needs to click on the "To set trace flags, click here" link, which leads to a sign in page that includes the SQL trace settings. An alternate way to enable trace if the link is not provided is to add "&trace=y" to the sign in URL. To enable trace in earlier versions of PS, the user needs to navigate to the configuration manager (navigation: Edit-Preferences-Configuration from an applications panel) and click on the "Trace" tab. There are numerous trace settings that appear as checkbox items; the two that I find most useful are "SQL statements" and "SQL statement variables". In versions 8.0 and above, checking these two boxes and then logging in as usual enables trace. In earlier versions of PS, there are a couple of additional steps. First, the name of the trace file must be entered in the "Online Trace File" box at the bottom of the "Trace" panel. Second, after the trace settings have been entered, the user must then logout and log back in for them to take effect. Please note: in any version of PS, using SQL trace significantly retards application performance for the individual user, so it should be used only when other trouble-shooting methods have failed.

Finding the trace file

OK, now that the user is logged in with trace enabled, what needs to happen next? The user should navigate to the component or page that is causing the problem, but should not yet replicate the error. Why? Because the trace file can be rather voluminous at this point, so it is best to delete it and get rid of all the unnecessary SQL executed to that point and make your trouble-shooting task a little easier. Where do you go to delete the trace? In versions prior to 8.0, you know where the file is because you've entered the path for it (usually something like c:\temp\sqltrace.log, which can be on the client machine or the server, depending upon whether you're logged on in two- or three-tier mode). In versions 8.0 or higher, the trace file is created on the application server in the {PS_HOME}\appserv\{DBNAME}\LOGS directory. The name is normally a combination of the operator ID used to log in to the session followed by the machine name or IPAddress and ".tracesql" (e.g., JSMITH_PSSERV.tracesql).

Once the file has been deleted, the user should replicate the error and then stop, sign out, and sign back in without trace enabled and continue doing his or her normal work. You can then pull the file off the server and begin your trouble-shooting activities. If you're lucky, you'll be able to scroll to the bottom of the file and the last statement executed will be the one that you need to solve the problem. In some cases, though, you may have to enter a number of the statements into a SQL tool (e.g., Query Analyzer, SQL Plus, TOAD) before you can diagnose and solve the problem.

Understanding the file

Here's a sample line from a SQL trace file that I created while inquiring on my vendor processing authority preferences in the "User Preferences" component of a PS financials instance:

PSAPPSRV.1088 1-344 14.38.04 0.000 Cur#1.A84XXXX RC=0 Dur=0.000 COM
Stmt=SELECT OPRID, AUTH_VNDR_UNCERTFY, AUTH_VNDR_CERTFY, AUTH_VNDR_INACT_ST FROM
PS_OPR_DEF_TBL_VND WHERE OPRID=:1 ORDER BY OPRID
PSAPPSRV.1088 1-345 14.38.04 0.000 Cur#1.A84XXXX RC=0 Dur=0.000 Bind-1
type=2 length=4 value=ROBR

The "1-344" is a sequential line counter for the process that you're currently executing. The next column contains "14.38.04", which is a time stamp from the machine on which PeopleSoft is running. The third column, "0.000", is the amount of time that has elapsed since the previous line was written to the trace file. The "Cur#1" indicates the number of the cursor for the statement and the fifth column ("A84XXXX") indicates the name of the instance in which the statement was executed, which is followed by the return code (RC=0) and duration (Dur=0.000) of the statement. Finally, the last column displays the SQL statement and any bind variables; the values of the binds can be found in the next line of the trace file (value =ROBR for bind variable :1).


Common uses for the SQL Trace file


What kinds of problems can you solve with the trace file? One common issue is the "matching buffer not found error", in which an orphan record can be preventing a page from building successfully. Another common use for the trace file is to solve problems with search records not returning values that the user expects to see, such as voucher IDs, employee numbers, expense reports to be approved, or other items. These can normally be found by navigating to the component, determining the search record and querying the search record, but there are numerous cases where the search record is named dynamically via PeopleCode and the trace file saves you a lot of time reading through that PeopleCode to determine the name of the table. You can also solve dreaded unique constraint violations using the trace file, because you'll have the exact insert statement that the system was executing at the time that the error occurred. The trace file is also great for SQL tuning purposes because it provides the timing for each statement. In any case, now that you've got the trace file you can run the relevant statements in a SQL tool and solve the problem that the user is experiencing.

Ref:http://it.toolbox.com/blogs/robs-peoplesoft-blog/enabling-and-understanding-sql-trace-in-peoplesoft-11093

Workforce administration

Workforce administration
Important navigation's to remember.

Menu -> Workforce administration -> job information - > job data  (employee job details)

Menu -> Workforce administration -> Personal Information -> add a person  (to hire a new employee)

Menu -> Workforce administration -> Personal Information -> Modify a Person (to Midify empl perosnal details)


Menu -> Worforce administration -> Personal Relationships  (go thru all navigations)


for job data action :-
Menu ->setup HRMS ->Product Related -> Workforce administration -> Action  & Action Reasons


--------------------------------------
To setup HCM go to setup HRMS:

Setup HRMS -> Foundation Tables
Setup HRMS -> COmmon Definition
Setup HRMS -> Product Related


Security
---------------
Menu -> Peopletools -> Secuirty -> Permission & Roles -> Permission List

Menu -> Peopletools -> Security -> Permission & Role -> ROles


Menu -> Peopletools -> Security -> User Profile -> user Profile.


Menu -> Peopletooks->Portal->structure &Content - To see permission list & change navigation label. for the component


50 most important interview questions

50 most  important interview questions


1)  What  is a state record.
2)  What are the actions available in AE.
3)  How will you read data from a CSV or Excel file and upload it into the database using AE.
4)  Why are SQC files used.
5)  What is the SQC used to read data from a translate table.
6)  Which section is mandatory in an SQR program.
7)  Why is setup section in an SQR program used.
8)  How will you get the system date in ORACLE.
9)  Effective Dated query in SQR.
10)             What is a subquery. Why is it used.
11)             What is Load-Lookup used in SQR.
12)             Why are FieldEdit and FieldChange events used.
13)             Why is SaveEdit event used.
14)             Why is SQLExec function used and how many rows can you retrieve using it.
15)             What is a subpage. Why is it used.
16)             Why is Derived/Work record used.
17)             What are the record types available in Application Designer.
18)             What is the difference between SQL View and Dynamic View.
19)             How many scrolls can be there on a page.
20)             How will you delete the buttons (Add, Update / Display, Correction) fr  om a page that is displayed in the browser.
21)             How will you add a component to the portal.
22)             What is the relationship between User Profiles, Roles and Permission Lists.
23)             What is the difference between Prompt table and Translate table.
24)             What is the purpose of State record.
25)             What is the difference between Local and Component variables in Peoplecode.
26)             What are the steps in Implementation.
27)             What are the types of table joins.
28)             How many objects are there in Peoplesoft 7.5, 8.12 and 8.4.
29)             How many events are there in peoplecode. When do they get fired.
30)             What is the architecture of PIA. What are its components.
31)             How will you read data from a CSV file and upload it into the database using SQR.
32)             Why is On-Break used.
33)             Why is Process Definition in Process Scheduler used and What are the options available in it.
34)             What are the object classes available in Peoplecode.
35)             What are the ways of registering a component in Portal Registry.
36)             What is the difference between Update Display, Update Display All and Correction modes.
37)             How will display an image in SQR.
38)             Which SQL commands can be used in SQL paragraph.
39)             In which sections can Select statement be used.
40)             What is Effdt and Effseq.
41)             SQR Debugging.
42)             How will you perform error handling in SQR.
43)             How are Multiple reports generated in SQR.
44)             What are the ways for Performance Tuning in SQR and Peoplecode.
45)             Why is Setenv.sqc used.
46)             Why is Process Monitor used and What is that which updates the status of a process in Process Monitor.
47)             What are the Key fields in PS_JOB and PS_EMPLOYMENT.
48)             In which record is the status of an employee stored.
49)             How will you draw a line of 80 hyphens (-) in SQR.
50)             When an incorrect value is entered in a field and the field turned red then what is the action to be taken.



Important question in peoplesoft

Important question in peoplesoft
PEOPLE TOOLS:
  1. What is the difference between Key and alternate search Key?


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


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


4.    What are Table Edits?


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


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


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


  1. What is an Expert Entry?


  1. What is Auto Update?


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


  1. How can you improve the security and usability of a Prompt table edit.?


  1. What are the different ways to setup row level security?


  1. How does peoplesoft use views? Which are online functions?


  1. Why do peoplesoft often use views as search records?


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


16. What is PIA and what are its components?




SECURITY
  1. Before accessing a people soft application what levels of security must be passed through.


  1. What is the use of primary permission list in user profile?


  1. How to authorize the user to run a process or report?


  1. How to give access to the records that are to be used in a query?


  1. What are the rules used by the system to determine whether a user is authorized to update an object?


  1. What are the different ways we can set up the portal security to access component in portal?


PEOPLE-CODE:
1.    Differentiate Field edit and Save edit?


2.    What are think time functions?


3.    In which events error & warning are used most extensively.


4.    Is there any way by which you can find out whether the user is in Add mode or Update mode?


5.     In which situation are we going to write peoplecode at component level?


6.    What is the purpose of the SQLEXEC function? What are its benefits and draw backs?


7.    How is the searchinit event most often used by people soft application?


8.    What are the options for using SQL in people code?


9.    What is the difference between component buffer and data buffer?


10. What databuffer classes are available in people code?


11. When we select a component what events will be fired?


12. What are different variables in people code and their Scope?


13. What is default processing?


14. What is difference between field default and Row init?


15. What is difference between saveprechange and savepostchange? Which function directly interacts with the database?


16. What is Getlevel0()? What is the use of %subrec and %selectall functions?


17. What is an array in people code? What is maximum dimension of an array? Which function inserts values into an array? What is “pop”?


18. What is difference between Getrowset and Createrowset in people code?


19. Can you save the component programmatically?


20. What is deffered processing and its advantages?


21. Write the syntax to access third level record field using object oriented peoplecode?


22. Write the syntax to hide third row of a second level record?


APPLICATION ENGINE
  1. If AE program is aborted and is to be restarted from beginning, what will you do?


  1. What is the use of temporary tables?


  1. What are the section properties in AE?


  1. What is the main purpose of the Access property in the Section?         


  1. Which actions are mutually exclusive and why they are mutually exclusive?


  1. If an error occurs in the step how will you handle the AE program?


  1. What is the specialty of Bulk Insert in AE?    


  1. What is the difference between Do while and Do until?     


  1. What record types are used  to  create the state record?


  1. How the state record can be shared between the AE programs?


  1. What is the difference between exit(0) and exit(1)  functions used in AE?


12. How the temporary tables are allocated to the AE program in online &Batch mode?           


  1. How do you interact with the state record?


  1. What is the difference between the %SELECT and %SELECTINIT?


  1. How many types of AE programs are there?


  1. What is set processing?


17. What is the difference between callsection action and the CallAppEngine function

     
  1. Explain about the dynamic property in the callsection action.


  1. How will you read data from CSV or EXCEL file and upload it into the database using AE?


COMPONENT INTERFACE
  1. What is Component Interface?


  1. What are the different methods available in component interface?


  1. How can you create new method to the component interface?


  1. What does a session object do?


  1. What environments are supported by the component interface API?


WORKFLOW
  1. How do you fire the workflow?  What is the mandatory built-in function used in workflow peoplecode?


  1. Is it possible to send a URL link through email?       


  1. What are the advantages by using approval rule set?


  1. How to set row level security in Workflow?    


  1. What advantages do you have using role queries in roles?


  1. When will you choose pooled list in worklist attributes?


SQR
  1. What are the sections and paragraphs available?


2.    Is it possible to increase the array size once defined?


3.    What is Load-lookup? Give the Syntax for Load-Lookup?


  1. Can you Call a SQR from another SQR? How?


  1. Briefly explain Most commonly used SQC’s in SQR programs?


  1. What are the commands used in filehandling of sqr?


  1. What are On-break parameters?


  1. How can you Debug SQR programs?


  1. What is the difference between sqr and sqc?


  1. What are different types of variables in sqr?


  1. Is there any read-only variable in sqr?


12. How to pass Inputs for sqr program while running from windows?


13. How to pass Inputs to the SQR while running through the Process Scheduler?


14. What is the purpose of Stdapi.sqc


15. What is the SQT file? What are the advantages of SQT files?


16.  What is the SQC used to read data from translate table?


  1. Which section is mandatory in an SQR program?


  1. How will you display an image in SQR?


  1. What is use of SETENV.SQC?


  1. How will you perform ERROR handling in SQR?


  1. How many ways of performance tuning are there in  SQR?


  1. Can you call procedure in oracle from Sqr? How? 

 
  1. Can you connect more than one database using one Sqr? How? 

 
  1. What are the differences between Load lookup and Array


  1. What are the steps required to run the SQR from peoplesoft environment?



  1. How to pass command line flags to a sqr report running through process scheduler?