You are on page 1of 23

Peoplecode Questions & Answers SECTION I: (Easy) 1. When is the actual commit happens while saving the page?

SQL Statement is issued after Workflow Event for Inserts, Updates or Deletes. But the actual commit happens after the SavePostChange event is executed successfully. 2. I have a drop down field in a page. I just edit that field and tab out of it, without changing the value of the field. Which Peoplecode event do you think will be triggered? FieldEdit, FieldChange? Or Both? No Event will be fired. FieldEdit and FieldChange events are triggered only when the value of a field is changed. In our case, value of the field is not changed. So, No Event will get triggered. 3. When will PriorValue() and FetchValue() return the same value for a particular field? Assume that function is used within a scroll. When component buffer has a single of row data in a scroll. 4. I click a Process push button in a page. Which event will be triggered now? FieldEdit? , FieldChange? Neither of two will be triggered. Push button points to a Process destination. Unless it is pointing to a Peoplecode command destination, those events will never be triggered. SECTION II: (Medium) 1. A scroll has one row in scroll level 1. I delete that one row and insert a new row. Now, I don't want those rows to be there in the component buffer. So, Case I: I use Rowflush() in RowInsert Peoplecode event. Case II. I use Scrollflush() in RowInsert Peoplecode event. Now, Will both the cases make a difference first? If no, how will it serve my purpose? If yes, which one will serve my purpose? Yes. Both the cases definitely make a difference. Case II will only serve the purpose. When deletion happens, the row is deleted in the scroll. But not deleted from the component whereas that row is marked for deletion. When insertion happens, the current row gets flushed as soon as it is entered. But, the deleted row is still there in the component. So, to remove the row of data from the component scroll, we should go for Case II. 2. Will Peoplesoft allow a required field to be left as empty while saving? If yes, when? (Under what conditions) If no, why? Yes. As long as you do not enter values for any of the key fields of a primary record in a scroll, Peoplesoft will not ask for a value to the required fields. Hence, it will not execute any system edits on those record fields requiring values. That is, it will not issue a SQL statement at all to insert or update the record in the database. 3. 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. 4. Where will you write the Peoplecode to validate the data entered in the search dialog? (Or) Which Peoplecode event will fire after the SearchSave event is fired? Component Prebuild Event. SECTION III: (Tough) 1. How will you dynamically change the value of a prompt table field? For example, in security pages, if a user clicks an operator class prompt field, it should show only the classes that are attached to that user alone. Associate a search record in the prompt field, for which EMPLID is the only search key field. It will retrieve the current Employee's data by matching the Operator ID with component EMPLID. 2. Is it possible to write a Menu Peoplecode program for "Administer Workforce (GBL)" menu? If so, where will you write the Peoplecode? If not, what does Menu Peoplecode mean? Yes. It is possible to write a menu Peoplecode for Administer Workforce (GBL) by choosing menu item type as 'Peoplecode'. For Pop-up menus, we can write menu Peoplecode in 'Menu Item' event. 3. What is Peoplecode Checkpoint file? Peoplesoft saves the Peoplecode program to a file while it is being programmed. This checkpoint occurs for every 10 keystrokes and for every save command. This saved file is known as 'Peoplesoft Checkpoint file' and it is stored in temp directory. 4. What is PSControlInit Event? PSControlInit Event an ActiveX control Peoplecode. This event fires every time the page is redrawn. This means, it fires after the component buffers are loaded and after a RowInsert or a RowDelete. It also fires after an end-user changes a field using a drop down or other prompt, or the end-user moves up or down a row on a scroll. ----------------------------------------------------------------------------------------------Application Engine Questions & Answers SECTION I (Easy) 1. What is the difference between %Select and %SelectInit? We use %Select to pass values to the State Record buffers. %Select will retain the previous value if Select statement does not return any row. %SelectInit will reinitialize the buffer if Select statement does not return any row. 2. In which Peoplecode will you use CallAppEngine()? Why? In SavePreChange or SavePostChange. In other Peoplecode events component processor cannot issue a commit through Application Engine program.

3. What is the major difference between Online and Batch Application Engine Programs? Online Processes are called by CallAppEngine() function through Peoplecode whereas Batch programs are scheduled through Process Scheduler Manager for recurrence. SECTION II (Medium) 1. What is the difference between set processing and row-by-row processing? Set processing is a SQL technique used to process a set of, or group of rows at one time. Row-by-Row processing is a technique where SQL statements are processed for each and every row with the database. 2. What is the difference between %Datein() and %Dateout()? %Datein() is used in Where clauses, giving date inputs for INSERT, DELETE or UPDATE statements whereas %Dateout() is used in Select clauses to fetch the date value. 3. What is the use of State Record and Temporary tables in Application Engine? State Record is used to store the values across Application Engine actions. Temporary tables are used to store the values of a table temporarily when the application program runs in concurrent processing or in a parallel fashion. SECTION II (Tough) 1. What is the maximum number of actions that a single step can contain? How? Seven. Since Call Section and SQL Statement are mutually exclusive, you cannot have all the eight action types in a single step. You can't add a Call Section Action to a Step that already contains a SQL Statement Action and visa versa. 2. What is the Action execution hierarchy in Application Engine program? 1. 2. 3. 4. 5. 6. 7. Do-When Do-While Do-Select Peoplecode SQL Statement Message Log Do-Until

1. What are the advantages and disadvantages of using AE or SQR? Ans) AE advantages: AE can be called by Peoplecode from a page. Built-in tools (meta-SQL) allow you to write SQL statements that refer to "all the fields of this record" or "join all the keys shared by these two tables." This is handy when record layouts change; you don't have to edit every select or insert. Built-in tools (temp tables) to run the same program many times on separate portions of your data. Processing takes less clock time. Repeatability and restartability - this takes a special style of programming. If you do all your processing in

temp tables, not only should your SQL run faster, but your output doesn't reach your permanent tables until you're sure the program was successful. So, if it abends, you don't have to worry about half-updated tables. Using state records for your internal variables aids debugging abends and restarting in mid-stream after an abend. You can write different versions of a section of code, and AE will choose among them based on current date, type of database, or market. This feature is obviously for developers at Peoplesoft Corp to ship the same products worldwide, but it could be useful for us. Built-in debugger. Easy communication with the process monitor using the message catalog. AE disadvantages: Programming technique is very restrictive. Think of Peoplecode, where you're only supposed to do certain things in FieldEdit and other things in FieldChange. And it's easy to access fields in the record of the Peoplecode, harder to access fields in other records or rows of the buffer, still harder to access data outside the buffer. AE can be worse. You can only view one SQL statement or one block of Peoplecode at a time. It's like programming or debugging through a keyhole. And be careful printing your program - the print routine leaves things out. Because it's awkward to use global variables and tempting to use meta-SQL, you'll want to do as much as possible in each SQL statement. If you do, your SQL will get very complex, hard to understand and maintain, and potentially buggy. We don't always remember all the effects of a join - not only do we bring in columns from other tables, but we also restrict our selection and/or multiply our rows based on the matches (0, 1, or many) from those other tables. Awkward control structures make it hard to follow program logic. SQR advantages: Wonderful printing functions and barely adequate file I/O - both absent from AE. Easy to use internal variables and even arrays. The option to choose our own editor, source control system, etc. Control over the format of our code (AE editors tend to rearrange things). If SQR runs on the client or the command line, it can communicate with the user in free form, including taking user input. SQR disadvantages: No debugger. A program must be completely within its source file. Include files are merged in by the compiler. AE can call subroutines within other programs. Great similarities and small differences make it hard to switch back and forth between Peoplecode and SQR. 2) I would like to know the procedure for converting data from Excel Reports into nVision Reports. Ans) You need to open up nVision and place the functions/variables into the appropriate rows/columns. There are row criteria, columnar criteria and overall report criteria. When a report is running, this criteria makes sql calls to the database. It will pull the data based upon your specs and create a report, or iterations of a report. The type of report you have, will determine the type of nVision report you will write.

Hopefully, your Excel report contains data that is already in the system. If not, there is no way an nVision report will tie into it unless you customize the report to include non-PeopleSoft data. I definitely do not recommend this approach. 3) I have multiple output files that need to be in one file when completed. Is there a way to append files in SQR? Ans) If you are on NT: Use the following code: let $merge= 'C:\WINNT\system32\CMD.EXE /c' || ' COPY C:\TEMP\headerfile.txt + C:\TEMP\filetype1.txt C:\TEMP\cpbexp.txt' If u are on Unix: Use the redirection output >> to append files and at the end give the final file name cat file1 >> file2 ---4.What is the purpose of CreatObject function in peoplecode? Create Object return an instance of an OLE Automation object as a variable of type object. CreateObject (str_class_name) Where str_class_name identifies a class of OLE Automation object, in the form: App_name.object_name Ex., local object &WORKSHEET &WORKSHEET = CreateObject ("Excel.Sheet"); 5.Can we write peoplecode for menu items? You can add PeopleCode to both standard and popup menus. To add a peoplecode menu item to a popup menu: x Create a new menu or open an existing menu. x Access the menu properties of the new menu item. x Edit the properties of the new menu. x If the popup menu has never been saved, you must save it before you can access its peoplecode. x To access the PeopleCode editor, right click on the PeopleCode menu item, then choose View PeopleCode. x Write the Peoplecode program in the PeopleCode editor, then save the menu. x If this is a new popup menu, associate it with a panel field or panel background. To add PeopleCode menu item to a standard menu: x Open the standard menu to which you want to add an item. x Access the menu properties of the new menu item. x Edit the new menu item properties. x To access the PeopleCode editor, right click on the PeopleCode menu item, then choose View PeopleCode. x Assign the new menu to operators in the Security Administrator. 6. Which PeopleTool is used to input peoplecode? - Application Designer. 7. How can you access PeopleCode editor? x x x In the PeopleCode display of a record definition, double click on the grid space that corresponds to the field and Peoplecode event. When field in a record definition is highlighted, select View, View PeopleCode OR View PeopleCode from the popup menu. In the project workspace, existing programs are displayed beneath their associated record field with a lightning bolt symbol; double click one of these. OR select view PeopleCode from the popup menu for a highlighted record, record field, or programs. In the Application Designer, once the field is highlighted on the panel definition, select View, view PeopleCode. Alternatively, you can right-click and select the view PeopleCode from the popup menu.

8. When is PeopleCode case sensitive? PeopleCode is only case sensitive within a quoted literal. 9. What are the most commonly used PeopleCode events? FieldChange, RowInit, SaveEdit, FieldEdit, FieldDefault, and SavePreChange in that order. 10. In which PeopleCode would you code errors and warnings? SearchSave, FieldEdit, SaveEdit and RowDelete primarily. You may also code errors and warnings in RowSelect. 11. What is the biggest draw back to Fieldformula? Since FieldFormula is performed every time the panel is displayed on every row of data, its biggest drawback is the performance overhead it adds. 12. What other PeopleCode event might you expect to find with RowInit? FieldChange. Since RowInit initializes the data before it is displayed, usually it is used along with FieldChange to accommodate any of the changes that are performed by the operator once the panel is displayed. 13. How do FieldEdit and FieldChange differ? The main difference between FieldEdit and FieldChange is how Error and Warning statements are handled. In FieldEdit, Error and Warning statements will cause the panel to be displayed with a message informing the operator of a possible problem. In FieldChange, Error and Warnings statements cancel the panel group. 14. How does SaveEdit differ from FieldEdit? SaveEdit and FieldEdit are both used for validation, but each one is performed at a different time. SaveEdit performed when the operator saves, FieldEdit is performed when the operator changes a field. SaveEdit is also performed on every row of data; FieldEdit is only performed on one row of data. When an error is received in FieldEdit, the field turns red; in SaveEdit field do not turn red. 15. How does SavePostChg differ from all other Peoplecode events? SavePostChg is different from all other Peoplecode events since it is performed after the updates are made on the database. 16.What built-in function will you probably see in SavePostChg programs? Since SavePostChg usually updates tables that are not contained in the buffers, the built-in function SQLExec is often used to perform these updates on the database.

17. What types of variables can you define in PeopleCode? Local an Global variables. 18. What happens if you don't declare a variable? If a variable is not declared PeopleCode will assume it is a local variable. 19. How long do local variables last? Local variables are retained in memory only until the PeopleCode program ends.

20. Why are application specific people-code functions used? PeopleCode functions are used to perform the same logic in multiple programs while only having to maintain it in one place. 21. How is an external PeopleCode function declared? An external PeopleCode function is declared at the top of the program where the function will be used with a Declare function statement. The only PeopleCode that can be above a Declare Function statement is Comments. 22. How is a PeopleCode function called? A PeopleCode function is called by referencing the function name and then passing the function the appropriate number of parameters in parentheses. 23. How must a PeopleCode function be defined so that it can be used as a variable in the calling program? In order for a PeopleCode function to be used as a variable, it must be defined using a "Returns" in the Function statement. Also, at least one "Return" statement must be used in the function code. 24.Why is the Message Catalog used? The Message Catalog is used to store the text of error and warning messages that will be used in PeopleSoft applications. This allows the same message to be used in more than one PeopleCode program while only maintaining it in one place. It also prevents the text of messages from being hard-coded into Peoplecode programs. 25.How is a message added to the Message Catalog? To add a new message to the Message Catalog, the correct message set should first be retrieved. A new message can be added to the set by performing a row insert (F7). The new message number will automatically be assigned. 26. Which message sets does PeopleSoft reserve as its own? Message sets 1 through 19,999 are reserved for use by PeopleSoft applications. Message sets 20,000 through 29,000 can be used by PS users. 27. How is a message retrieved from the Message Catalog in PeopleCode? To retrieve a message from the Message catalog in PeopleCode, the MsgGet built in function is used. The required parameters of the function are message set, number and a default message. 28. When should WinMessage be used? The WinMessage built-in function is used to display an information message to the operator without performing normal error and warning processing. It also can be very helpful when used for debugging. 29. What is the purpose of Gray, UnGray, Hide, and UnHide? These built-in functions change the display characteristics of fields on a panel. The Gray built-in function will make the field display-only. The Hide will make the field invisible. This is helpful when enforcing field level security. 30.What does SetDefault do? The SetDefault built -in function will clear out the contents of the field. The record default or FieldDefault PeopleCode can than be applied if appropriate.

31. Why are All and None used? The All and None built-in functions check for the presence or absence of a value that the operator has entered. This can be helpful since a different value may be stored on the database if a value is not entered into a field based on its type. 32. When would FieldChanged, RecordChanged, RecordDeleted, RecordNew, and PanelGroupChanged be used? These built-in functions can be used in SaveEdit, SavePreChg, or SavePostChg programs to filter down the processing to occur only when necessary. 33. Why is PriorValue used? The PriorValue built-in function is used to determine the value of a field before it was changed. 34.What is the CurrentRowNumber? It is the number of the row of data the application processor is performing PeopleCode on in the buffers on the client workstation. 35.How does AddToDate work? This function is passed a date field and then the number of years, months and days to add. Leap years are automatically taken into consideration, and negative numbers may be passed as parameters to subtract from the date. 36. Which two cross reference reports are best for PeopleCode? How do they present their data? XRFFLPC reports for one field all of the PeopleCode programs where it is referenced. XRFPCFL does the opposite. It reports for one PeopleCode program all of the fields it uses. 37. What does Find in PeopleCode do? The Find in PeopleCode utility will scan through all of the PeopleCode on a database looking for a specific character - string. 38.When is it useful to select the Export to File option in Find in PeopleCode? An Export report produces an unformatted copy of all of the source code where the character string was found. This can be very helpful in an upgrade. 39. How can you use WinMessage as part of the debugging process? A WinMessage can be used to set break points and display the current value of fields and variables in the PeopleCode debugging process. 40. How do you turn on the PeopleCode trace? x x x The PeopleCode trace can be turned on by selecting the Set push button on the PeopleCode Trace Control panel. It can also be turned on by saving options in the Configuration manager, logging out of Psoft and logging back on. It can also be turned on within PeopleCode by using the SetTracePC built-in function.

41. What is the name of the file created by the trace? DBGI.TMP which is stored in TEMP directory. 42. How do you turn off the PeopleCode trace? The PeopleCode trace can be stopped by turning off all of the check boxes on the PeopleCode trace control panel and selecting the set push button.

It can also be turned off within PeopleCode by passing the parameter zero to the SetTracePC built-in function. Once the PeopleSoft session is closed, the PeopleCode trace will also automatically be turned off. 43. What record definitions will perform PeopleCode in a panel group? Any record definition that is not used as a related display record will perform PeopleCode in a panel group. 44. In what order will PeopleCode be performed on the buffers in a panel group? PeopleCode starts at the top of the buffers in a panel group and works its way down to the bottom. The PeopleCode programs on a given row will be performed in the same order as the fields on the record definition. 45. What do ActiveRowCount and FetchValue do? Why are they generally used together? The ActiveRowCount function returns the number of rows at a specific occurs level. The FetchValue builtin function is used to retrieve the value of a field when using a looping statement. The two are usually found together in most For Looping statements. 46. When is UpdateValue necessary? The UpdateValue built - in function must be used when updating the value of a field within a PeopleCode looping statement. 46. How will the syntax of built - in functions change if they are used in a multiple occurs level applications? When built- in functions are used in multiple occurs level applications, the record name and row number of the parent always must be specified. 47. Why are command push buttons used ? What are the advantages? Command push buttons can be used to trigger PeopleCode programs. The advantage of using one is that the operator determines when the program should be performed. 48. What PeopleCode events will a command push button perform? Any FieldEdit and Fieldchange PeopleCode programs on the field where the push button is attached. 49. What are the two different ways to retrieve a bitmap to display on the command push button? Bitmaps can be retrieved from a file using the Browse push button or from the clipboard using the Paste push button. 50. How do you attach a field to a command push button? A field is attached to a command push button in the panel definition. Select Edit, panel Field properties and modify the field entries under the Record tab. 51.Why should the SortScroll function be used? The SortScroll built-in function can be used to dynamically sort the rows of data within a scroll bar. 52.What are the parameters of the SortScroll function? The occurs level and primary record definition to be sorted, followed by the field to use for the sort with "A" for ascending or "D" for descending. Multiple sort fields can be referenced. 53. Why is the ScrollSelect function used? To control the process of allocating buffers in a panel group using peoplecode , instead of the application processor.

54. What are the parameters of a ScrollSelect function? First the occurs level number and primary record definition of the scroll bar the data will be selected into. These are followed by the select record, and the When Clause within quotes. Bind variables are then passed if necessary. 55. When is the ScrollFlush function used? Is used to remove the rows of data from within a scroll bar without deleting them from the database. 56.What are the parameters of a ScrollFlush function? Name of the primary record definition for the scroll bar where the rows of data will be removed. 57.How and where can a user invoke a popup menu? User can invoke a standard popup menu by right-clicking in an edit box or long edit box. If a developer-defined popup menu is attached to a panel field or to the panel back ground in the panel definition, it can be accessed when the user right - click on the panel field or on the back ground, respectively. 58.What type of actions can a popup menu item perform? A menu item in a developer-defined pop up menu can perform a Transfer, which invokes the panel specified in similar way to if the user selected the panel via menus. It can also run a PeopleCode program attached to the ItemSelected event. 59. How do u associate a popup menu with a panel field? With the panel background? To associate a popup menu with a panel field, select the panel field in the panel definition and access the Panel Field properties. Click the use tab and specify a popup menu. To associate a popup menu with the panel back ground, access the Panel Properties using File, object Properties (or the Properties icon). Click the use tab and specify a popup menu. 60.What PeopleCode event is fired before a popup menu is displayed? PrePopup. It allows you to alter the appearance of the popup menu. 61.What functions may be used to alter the appearance of a menu item? DisableMenuItem, EnableMenuItem, HideMenuItem, CheckMenuItem and UnCheckMenuItem. 62. What PeopleCode event is fired when the user selects a menu item? ItemSelected. Remember, this is associated with menu PeopleCode rather than record PeopleCode. 63. What are the major uses for SQLExec? The SQLExec built-in function is mainly used to perform SQL Select, Insert, Update and delete statements from within PeopleCode. 64.How can SQLExec aid performance? It can aid performance by only retrieving from the database the data required, instead of an entire row. 65. What PeopleCode event should be used to update other tables with SQLExec? In order to update other tables that are not contained in the buffers on the client workstation with a SQLExec, SavePostChg PeopleCode should be used. This is because SavePostChg is the only PeopleCode event that is performed after the updates have been made to the database. 66. What parameters are passed to the built-in function SQLExec? The SQLExec built-in function is passed the SQL statement to perform within quotes, followed by any bind variables or output variables if necessary.

67. What are Inline variables? How are they used? Inline variables are used to reference the value of fields stored in the buffers in SQL statements. An inline variable consists of a colon followed by the appropriate record and field name to be referenced. 136. How are dates converted within SQLExec statements? Dates are converted within SQLExec built-in function by using the system variables %DateIn and %DateOut. 68. What are the drawbacks of using a SQLExec built in function? Since the SQL statement is contained within quotes, it is a black box to PeopleSoft. Means the programmer is responsible for the syntax, efficiency and maintenance of the SQL. Also, if a SQLSelect is being performed within the function, only one row of data can be returned. 69. When should the SQLExec function be used instead of the scroll buffer functions? Dates are converted within SQLExec built-in function by using the system variables %DateIn and %DateOut. 70. Describe the 'modal' aspect of a modal panel group? You may only interact with the objects in the modal panel group dialog box. You cannot interact with the originating panel group nor the menus on the originating window. 71. Compare standard panel groups and modal panel groups.

Standard Panelgroups
x x x x x x x x x x Standard Modal Accessed via selecting a menu bar and item. You can interact with menus like File and Go The icon bar allows easy access to commands. Buffer is allocated after search dialog box. You typically only interact with data within the Record Via a PeopleCode program, typically run from a popup menu item. No interaction is possible. There is no icon bar. Instead, there are OK, Cancel and Apply. Buffer is allocated upon calling the DoModalPanelGroup function. Data can be passed between the Panel groups, Originating panel and the modal Panel group.

Modal PanelGroups

PEOPLE-CODE: 1) Can a PeopleCode function call itself inside its code? If so, how? Ans) a) Unfortunately, in 8.1 this is not possible. You could clone the function and refer to the 2nd version. If this doesn't meet your requirements, you have to find another solution b) I don't know what version od PeopleTools you are running at, but on 8.4 it IS possible. For example check the standard code for importing data using File Layout. There is a function ImportSegment which is called within itself. Function ImportSegment(&RS2 As Rowset, &bExecute As boolean) Returns boolean; .... If (ImportSegment(&RS1, &bExecute) = False) Then Return False; End-If; ..... End-Function; c) Yes, true Recursive Function calls is supported in PS 8.4. The only caveat to this is the variables you will be using within the function itself. You have to be careful about passing variables as parameters because

PCode does it by "reference". So, depending on what gets called first and what the final assigned value is to the variable, that'll be its value. Function Func(&n as Number) &n = 3; End-Function; local &x = 5; Func(&x); After the call to Func(&x), &x will have the value 3, not 5. If the call was Func(Value(&x)), after the call &x is still 5. ------Q: Data Mover questions.....where did you use etc? Data mover is used to move data of a record of database to another record in another database and the records should be identical in all respects like the number of fields, keys and fields Q: Data Mover questions.....where did you use etc? Datamover used to take back up and buisness rule updation thru sql and security purpose. Q: File formats for File Layout yes it can be csv, xml or fixed lenght see in file layout properties. Q: File format u can download query result? format can be CSV or XLS. Q: A PeopleCode program is automatically saved to a file while youre working on it. This checkpoint wi Ans: with in a five min. Q: Activate Event is Valid for following This event is valid for Standard and Secondary both the pages.But not for Sub pages. Q: What Chartfieds did you use? Accounts, fund code, GL Business unit Q: What are the diffences between AE and SQR? 1. AE is very systematic as it is structred as Section, step and Action. While SQR is not systematic. 2. AE flow is easy to read and understand, while SQR is not that easy. 3. AE is easy to debug as you can do line by line debugging. With SQR, its not easily possible. 4. By using SQR, you can create and maintain different reports, which are not possible eith AE's. Q: Different sql statements and metasql statements. SQL INSERT,UPDATE,CREATE,DELETEMETASQL %BIND,%EXECUTE EDITS,%SELECT,%SELECTINIT,%SQL,%TABLE,%TRUNCATE TABLE,%UPDATESTAS. Q: Different ways to run AE, SQR.(Command, process sc... SQR:command line(sqrw.exe),process scheduler & peoplecode AE:commandline(psae.exe),process scheduler,peoplecode-callappengine(aename,st-rec) Q: Why state records are needed? State Records are used to pass parameters and values between the various sections in an Application Engine. State record may be either SQL Table or a Derived Work record Q: How many temp records are there in app engine. There Can be n number of Temporary tables, but App. engine. creates upto 99 instances for a single temporary table.

1. The main attributes of a Component Interface (CI) are? Keys, Properties & Collections, Methods and Name 2. Which one of the following are standard properties when a Component Interface (CI) is created? GetHistoryItems 3. With reference to the Component Interface Tester which of the following is NOT TRUE? GetExisting option is equivalent to opening a record in Update/Display Mode only 4. Which of the following are TRUE when a Component Interface (CI) is created on component that has Add action enabled? Get keys, Create keys and Find keys gets created automatically. The Create method is created along with the other Standard methods for the CI 5. Which of the following is NOT TRUE in Component Interface (CI) Architecture? A component interface can be mapped to multiple PeopleSoft components 6. The following are various steps that describes the peoplecode logic while implementing a Component Interface? 1. Establish a user session 2. Get the Component Interface 3. Populate the Create Keys 4. Create an Instance of the CI 5. Populate the required fields 6. Save the CI 7. Will Tuxedo continue to be used in a PeopleSoft/WebSphere or PeopleSoft/WebLogic environment? Yes. WebSphere or WebLogic are used as the HTTP server and servlet engine. They are not used as middleware with the PeopleSoft Application Server. Tuxedo is always used with PIA, regardless of the HTTP server or Java servlet engine. 8. Can a PeopleTools 8.4 and a PeopleTools 8.1x database run on the same machine? Yes, databases can co-exist on the same physical machine. In most cases, the databases themselves can exist within the same RDBMS, however, it is important to verify that the database version required by PeopleTools 8.4 is the same as for the current PeopleTools 8.1x implementation. 9. Can a PeopleTools 8.4 and a PeopleTools 8.1xapplication server run on the same machine? Yes, both PeopleTools 8.4 and PeopleTools 8.1x application servers can run on a single machine. It is important to ensure that there are no port clashes between the installations. 10. How does the PeopleSoft Enterprise Portal work with 8.1x and 8.4 applications? There are several scenarios that may exist when customers use the PeopleSoft Enterprise Portal with a mixture of 8.1x and 8.4 applications. Specific information on the use of the PeopleSoft Enterprise Portal in a blended environment will be available in a forthcoming white paper, which will be available on Customer Connection. In general, the recommendation is to use the PeopleSoft Enterprise Portal 8.4with 8.1x and 8.4 applications, rather than an older version. 11. For the servlet layer on the web server, what version of the Java Servlet API are the PIA Java Servlets coded to with PeopleTools 8.4? The PIA Java servlets in PeopleTools 8.4 are coded to JavaSoft's Java Servlet API 2.0 and are fully compatible with Servlet API 2.2. It should be noted that the PeopleSoft Internet Architecture is supported only on the BEA WebLogic and WebSphere servlet engines. 12. IBM How should Web Application Servers be used with PeopleTools 8.1x and PeopleTools 8.4? The PeopleSoft Internet Architecture uses a web application server and an HTTP server. PeopleTools 8.12 and above include both BEA WebLogic and Apache with Jserv. With PeopleTools 8.4, both BEA WebLogic and IBM WebSphere are bundled. Apache with Jserv is no longer a supported web application server combination. Customers can choose which web application server to run during installation time. In a mixed PeopleTools 8.1x and 8.4 environment, each PeopleTools installation should have their own chain of web application server and application server, PeopleSoft Proprietary and Confidential Page 5and these

can be on the same machine. For example, a PeopleTools 8.1xinstallation using Apache and Jserv could reside on the same machine as a PeopleTools 8.4 installation using IBM WebSphere. Care should be taken to ensure that unique port numbers are assigned to each server chain. 13. Why did PeopleSoft bundle IBM WebSphere Advanced Single Server Edition rather than Advanced Edition? The Advanced Single Server Edition (AEs) of WebSphere provides the same core J2EE and Web Services programming model as the Advanced Edition (AE) with simplified administration. In the AE version WebSphere uses DB2 or other standard database to keep the configuration and runtime information to support very large farm of WebSphere servers. However, it is one more database to install, administer and maintain. The AEs version does not use the database and uses file based configuration in a way that is similar to BEA WebLogic. PeopleSoft and IBM WebSphere architects determined that AEs version would satisfy the deployment requirements of PeopleSoft customers and would make it easy for owning and administering PeopleSoft Applications based on WebSphere. 14. Will the PeopleSoft Internet Architecture, now that it embeds BEA WebLogic and IBM WebSphere, work with my other corporate web servers and tools? One of the core values of the PeopleTools development group is investment protection. The time, money and resources that you may have already invested in licensing another web server, training developers and administrators, building and deploying other web applications will not be compromised by this decision. How is this accomplished 15. Is BEA WebLogic the same thing as the web server that was previously on the Tuxedo CD? No. The web server that was delivered on the Tuxedo CD has absolutely nothing to do with WebLogic. WebLogic is a web application server that is designed for large-scale production websites. The HTTP server on the Tuxedo CD was only there to provide a mechanism for launching the graphical Tuxedo administration console if the Tuxedo administrator didn't already have a web server in place. It was never intended for large-scale, production website use only for a system administrator or two. 16. Are disconnected mobile applications supported in PeopleTools 8.1x? No. The PeopleSoft Mobile Agent architecture, which is used to support disconnected mobile applications, is only available in PeopleTools 8.4. The PeopleSoft Mobile Agent is dependent upon certain core technologies that were specifically developed for PeopleTools 8.4. 17. Is WebSphere certified on PeopleTools 8.1x? No. IBM WebSphere is certified on PeopleTools 8.4 only. Customer wishing to use IBM WebSphere with PeopleTools 8.1x may take advantage of an IBM WebSphere for early adopters program, created and managed by IBM. Further information about this program can be found in the whitepaper The IBM WebSphere 8.1x Early Adopter Program. Are there additional license requirements for IBM WebSphere 18. Are there advantages or disadvantages to using BEA WebLogic over IBM WebSphere or vice versa? No. Both products are certified with PIA as of version 8.4 and work equally well. By offering both BEA WebLogic and IBM WebSphere, we give our customers more choices and flexibility to run PeopleSoft in their preferred environment. 19. Is web server load balancing supported with PeopleTools 8.4? Customers can set up clusters of BEA WebLogic or IBM WebSphere servers to do web server load balancing. In such scenarios, if an instance is down, requests are automatically routed to another instance. For more information on high availability and clustering with WebLogic, WebSphere and other web servers. 20. Both BEA WebLogic and IBM WebSphere have the ability to plug into many different web servers. Does PeopleSoft support the web servers that they plug into? BEA and IBM provide plug-ins for many of the leading web servers. This allows the customer to use their own HTTP web server and WebLogics or WebSpheres Java servlet engine. PeopleSoft uses this plug-in capability to support IIS. We have no reason to believe that there will be any issues with other web servers that WebLogic or WebSphere are able to work with through their plug-in architecture, but PeopleSoft GSC will not support these other web servers with PeopleTools 8.4

21. Does Application Messaging work between 8.1xand 8.4 applications? Application Messaging is used by PeopleSoft applications to communicate with one another. This is true not just for 8.1x and 8.4 applications, but also between an 8.1x and an 8.4 application. For example, the HRMS 8.3 applications, which are based on PeopleTools 8.15, can communicate with Financials 8.4applications, which are based on PeopleTools 8.4, using Application Messaging. If specific issues materialize relating to the Application Messages published by certain applications, these new messages will be made available to customers. 22. Why is PeopleSoft no longer supporting Apache Jserv? Apache JServ was a servlet engine that was supported in PeopleTools 8.1x. This support has been removed from PeopleTools 8.4 for several reasons: v JServ is no longer an active product and is in maintenance mode and there are no longer any new official releases. v Our customers have exhibited a desire to use commercial products for mission-critical enterprise web application servers rather than open source solutions. Therefore, moving to support Tomcat is not seen as a reasonable solution. v Apache can still be used as an HTTP server with BEA WebLogic . 23. What HTTP servers and Java servlet engine combinations are supported with PeopleTools 8.4? All popular http servers (reverse proxies) are supported. Please refer to the platforms database on Customer Connection for specific information on current certified platforms. You may find this at http://www.peoplesoft.com/corp/en/iou/platforms/index.asp 24. WorkItem is available in? WorkList Record 25. Where are workflow work items found ? Worklist 26. In which platform does Crystal and Psnvision works? Windows (Correct) 27. You want to update your password and enter a hint for forgotten password. What would you access? User Profile 28. Question based on changing prompt table, what happens when changing from NO EDIT TO EDIT option? user can type only prompt table values and the default values gets populated from the database. 29. Customization done in Dev DB, Which tool i will use to move it to Prod DB? Use App Designer -> Copy DB 30. Your Onsite DBA has called you up and told you that one of the tables PS_ABC_TAO has grown very big in size. Based on the standard naming convention, you have determined that the record is a temporary record since it ends with _TAO You look into the database and decide that that the data is not required any more. You ask the DBA to delete the data in the table. Next day you get a call from an irritated user who says that a daily process that took only 1 minute to run is taking about 2 hours today. You look into his process and find that it uses PS_ABC_TAO as a temporary table. What would you suggest the DBA to do ? Update statistics on the table 31. (Some scenario) Question relating DBA Purging Temporary Table? Update Statistics 32. How many Message nodes are possible for a database.? Unlimited 33. How will you get a single output by combining two or more queries? UNION 34. What BEA product is used for DB transaction in PS? Tuxedo

35. Which one of the following Data Types is NOT supported by the PeopleCode programming environment? TIMESTAMP 36. What hyperlinks available in PeopleBooks? Some options with different hyperlinks not available in peoplebooks, select the correct one? Study all hyperlinks in the first page of people books. 37. The example below demonstrates the use of SQR flags in the configuration manager directories folder: -F C:PSHrmsSqrWhat do the above SQR flags signify to the SQR Report Writer upon execution? Specifies the output path 38. When a business requirement in Fit/Gap Analysis does not meet by PeopleSoft then? Some options: 1. Customize PS application (Yes) 2. Buy third party software (Yes) 3. Call PS Development Center for Enhancement (Yes) 39. What are the status available in PeopleSoft Domain Status Menu? Server, Client and Queue Status 40. Which of the following are part of an AE program ? Section ,Step and Action 41. Which of the following fires after the database is updated? SavePostChange 42. What event gets fired after DB Update? SavePostChange 43. For downloading patches and fixes , you have gone to the customer connection and looking under 8 april, 2000 and see Report IDS like R-CCHEN-VP14JM. What does R stand for ? Released 44. In which one of the following views would you see the fields, criteria, and other details associated with the current query? Query view 45. PeopleSoft tracks object changes using a system table. Which PeopleTools System table is used to track object changes? PSRELEASE 46. PeopleSoft has its own naming convention for system and non-system (application) tables. In the list below, RECORDNAME refers to the name of any table or record. Referring to the above information, which one of the following identifies the naming convention PeopleSoft uses for system tables? PSRECORDNAME 47. Which process is used for running AE programs which are to be run at a frequency of less than a day ? PSDAEMON 48. you can specifically trace the activity of the PSAPPSRV server process by setting the? PSAPPSRV.tracesql 49. Which of the following is correct in order to start the Process Scheduler Server from the command line using psadmin.? A: Psadmin p start d 50. In the following url http://localhost/Peoplesoft/EMPLOYEE/PSFT_HR/c/PROCESS_SCHEDULER.PRCSTYPEDEFN.GBL which one is the component definition? PRCSTYPEDEFN.GBL

51. I have created a Menu and a Page and given user access to that page, which of the tables gets affected on this (Scenario)? PeopleTools Tables 52. You are a PeopleSoft Partner and wish to get information on database performance benchmark ( or something like this) Where would you look for the info ? PeopleSoft Knowledge base SYSAUDIT finds for Orphaned Records 53. Which RDBMS uses Tablespace? Oracle, DB2, Other Options: SQL Server, Informix, Sybase 54. Changing Prompt Table with NO Edit to Prompt Table with Edit? Only selection of existing data is possible 55. Which command is valid in both bootstrap and regular mode when operating the data mover? GRANT_USER 56. PeopleCode events pertaining to Record Field:? FieldEdit, SaveEdit and RowDelete 57. Which of the following are Record field events ? FieldChangeSearchSave and SavePreChange 58. Which of the following commands can be run in Bootstrap mode? ENCRYPT_PASSWORD 59. What commands are valid in BS mode? ENCRYPT_PASSWORD 60. What views available in Application Designer project workspace? Development and Upgrade 61. Which of the above record definitions is NOT stored on the database and is therefore NOT required to be built? Derived/Work Record 62. You have downloaded an Application fix as a project from the customer connection. Where would you upgrade it to ? Demo 63. PS Query definition is stored on which server? DB Server 64. How do you login into BS mode? DB Access Id 65. If you want to log into DataMover in Bootstrap mode, you would login as..? Database superuser 66. What is added as new option in Build apart from Create Tables, Indexes, Views? Create Trigger 67. Where will you configure for failover of Application Server (Scenario)? Configuration.properties 68. Which one of the following is a transaction control statement ? Commit 69. What Record Changes does not affect Database? Change in List box in Record Field properties (correct)

70. Which one of the following steps is NOT part of performing an upgrade? Apply all outstanding patches, prior to upgrade 71. Update and Fixes: R-* files refers to? Application Updates and Fixes 72. How do you set up table-sharing in PeopleTools applications? Add the field, SETID, as a key field to each table you want to share, and then define the set control field. PeopleSoft reserves ALL Message Sets (in Utilities, Message Catalog) up to which number? 73. What is the default Crystal Report that PeopleSoft Query tool creates? ACTQRY.RPT 74. (Some scenario) Find which is not part of AE Program, Options would be? Action,Section,Step,Event 75. Which of the following are true with respect to validate signon with database option enabled in psadmin.? 1. The application server first attempts to connect to database using the user id and password as part of the database connection string. 2. User must be defined on either the operating system or the database and within the PeopleSoft. 76. Which of the Following are true for force Shutdown In PeopleSoft Domain Shutdown menu? 1. shuts down the domain using the tmshutdown -k TERM -c command. 2. A forced shutdown is a non-quiescent shutdown that immediately terminates all the processes 77. After logging into customer connection, you wish to search for fixes/patches. What are the search criteria's available ? 1. Report ID 2. Date / time 3. Release 78. What are the Search Keys you use to find Patches and Fixes? 1. Release 2. Updated date time 3. Report Id 79. Which one of the following tree types is NOT supported in the PeopleSoft tree manager? 1. Query trees 2. Combination trees 80. Which Web Services is only used as a Proxy Server? 1. MS IIS 2. Apache 81. In PeopleCode Debugger what are the valid values? 1. Go 2. Step Over 3. View Variable Value 82. Select the components which form the part of Integration Broker? 1. File Layout 2. CI 3. app. Messaging 83. what are the views available in App. Designer project workspace (multiple answer)? 1. Development 2. Upgrade

84. What are Menu types available? 1. Component 2. PeopleCode 3. Separator 85. Database Connectivity Drivers should be installed in the following System? 1. Client Workstation in two tier mode (Yes) 2. App Server (Yes) 3. Batch Server (Yes) 4. Data Mover (Yes) 86. Where do you need to install connectivity software? 1. batch server 2. App server 3. two tier client 87. What are the People Tools available for Integration Broker? 1. Appl. Messaging 2. Component Interface 3. File Layout 88. A Customer wants to use a new Image in HRMS, where it is stored? DB Server 89. Can you access pia from mac OS? Yes 90. Which language technology is used in app messaging? XML 91. Which one of the following PeopleCode debugging tools automatically converts values of any data type other than object into string values for viewing during debugging? WinMessage 92. PIA screens and recognize it? Where are the work items presentWorkilist 93. Where do u set the web server cache? webserver configuration.properties file 94. Your company obtained the newest Application Release of PeopleSoft, and you need to prepare for the upgrade. Upon reading the new Release Notes, you notice that changes were made to two COBOL modules (batch programs). You need to decide how to compare the current versions of these COBOL programs with the versions delivered with the new PeopleSoft application release. Which would be the fastest method of comparing these different versions? Use non-PeopleSoft comparison tools. 5. 95. True or False. A business Process be used as a Navigator Home page ? true 96. True or False. The physical, dedicated tables are locked at the time the Application Engine program is loaded into memory? True 97. True or False. State Record can be Dynamic Record? True 98. True or False. In Call Section Action it is possible to leave the Program ID with blank Value in certain cases? True

99. True or False. You can assign multiple databases and application servers to a single profile. But, each database and application server must be assigned to only one profile? True Q: The field property is changed from Prompt with no edit to Prompt with edit wht is the effec Prompt Table Edit gives no chance to add a new value to the field except to pick one from the prompt list. Prompt Table No Edit can be used to pick a value from the prompt list as well as u can add a new value thats not in the list. Q: The field property is changed from Prompt with n... Prompt Table with No Edit: Does not edit the contents of the field against the prompt table. Prompt Table Edit: Edits the contents of the field against the values that are maintained in the specified prompt table. Q: What is app messaging, where did you use? App Messaging is an integration tool that allows PeopleSoft to send and receive infromation in an XML fomrat over a HTTP connection. It is used extensively to send information from a PeopleSoft system to another PeopleSoft system and to exchange data with external systems. Q: What is App Reviewer, App Debugger. Differences between them. App Reviewer was the peoplecode debugger in PeopleTools 7.0 and 7.5, Debugger is the the Peoplecode Debugger used in 8.0 and above Q: What are the new features in security in 8.0? User, roles, persmission list Q:Which of the following menu options allows you to modify the Last Process Instance Number used withi Process Scheduler, Use, System Setting Q: Where do you set Peoplecode trace? Peoplcode trace can mean setting peoplecode trace for record peoplecode or for app engine(on execute). For getting the trace for peoplecode(record level), need to go to options and select various levels of trace by checking what level u wat( Stack, every instruction, list the program, etc) and select the destinationfile to which the generated trace needs to be copied into. Configuration mamager allows debug for app engine wher u can select levels of trace needed , thta is only SQL, Connect, Disconnect, Peoplecode etc. The former two mentioned here are two tier tricks for setting the trace( App Designer level) We can still generate trace when on three-tier( Internet).For this we need to select the peoplecode check box in the beginning from peopletools option Q: In Two Tier mode where does authentication happens If i am not wrong,In 2 teir mode ,there is no application server. if it exists there then it will become 3 tier . Q: In Two Tier mode where does authentication happens... I belive it should be at database server instead at App Server as it does not involve in 2 tier

Q: In Two Tier mode where does authentication happens... In two tier there is NO WEB SERYVER or APP SERVER. So autentication is done at Database server. Q: Tuning can be done on which servers In application server we can perform tuning Q: Meta-SQL where is it stored. Temp table is ther correct answer Q: How do you register a portal? By navigating to PeopleTools -> Portal -> Structure and Content -> Click on the appropriate folders further Q: What are the Outputs of SQR? It depends if we are running in 2 tier then spf ,lis and if we are in 3 tier then pdf(default). Q: What are the different actions in APP ENGINE. in addtion to the 8 listed above, there is an additionally action for AE programs that are marked as TRansform programs and the action is XSLT Q: What is the event that fires after all database up... save post change Q: Where do one see the status of the process request... process monitor Q: What category of commands can be executed in data ... Sql, Sqr, and Cobol Q: If u change the long name of translate field what ... alter the record defn Q: Which of the following record is not found in data... derived work record,dynamic view and sub record Q: Fit gap analysis --- implementation and upgrade Fit gap analysis as the name says it is not a complete upgrade doc. to fit in the gap betwen the new and existing system from which we are going to migrate to the new system we run an compare and document in the changes that need to be peformed in then new system. Q: State Record can be Dynamic Record? Yes, if you don't have restart enabled, state record can be dynamic. Q: To launch an Application Engine program from anoth... using call section In Call Section Action it is possible to leave t...

The Answer is True, as mainy times you will call section from the same App Engine. in such scenario, the Program Id can be blank. Q: Peoplecode attached with Push Button can be associated with which of the following events Field Change event DoSave( ) can be called from one of the followin... Save post Change event A Simple Query involving Professor, Asst Professor and to find if both can be available before and at a mentioned date. lets say all the data resides in a table PS_TABLE_A. Lets say AS_OF_DATE is held by a variable as_of_date. Here goes the query:Select PROFESSOR, ASST_PROFFESSOR FROM PS_TABLE_A WHERE EFFDT< as_of_date OR EFFDT= as_of_date Q: What are all stored in System Catalog System Catalog has data about data i.e.,META-DATA It keeps track of all the objects that reside in database. It is like table of contents for a book. Q: What are destructive statements in SQL recreate a table ofcourse. A view is just a SQL query stored and is executed everytime you access it. it does not store any values, just retieves them from the tables in the query. Where as table acutally has values stored so if recreated with data present it is destructive. If no data present then go ahead and recreate it. Q: File format for SQR A: PDF ( For output from three tier- PIA) spf and lis ( from two tier - app designer outpouts Q: How do you stop sqr, while running using a command... use -C in the SQR command line

Q: How do you stop sqr, while running using a command... I suppose we can do this by using the stop and stop quiet functions in SQR. A simple If-Else condition could be evaluated ,and the stop function could be used to terminate the program. stop quiet function si similar to stop , however it does not itterminates the program without genaratting any log messages. Q: How did you apply bundles? use the PeopleSoft delivered Upgrade Assistant or Change Assistant for PT8.45 and above. Q: How did you migrate from legacy? To migrate from legacy:

1)Identify the fields to be extracted from legacy 2)Map the legacy fields to peoplesoft fields.create the new fields if needed 3)Apply the business logics and get the legacy data to peoplesoft using PeopleSoft tools such as AE/CI Q: Diff between oracle and sql server 2000? oracle9i is developed by the oracle corporation.sql server 2000 is developed by the Microsoft Q: what is component interface, where did you use? is one of the module in app desinger Q: what is component interface, where did you use? Enables exposure for a peoplesoft component for synchronous access from another application (C++, peoplecode, java, XML) Q: what is component interface, where did you use? A component interface is a PeopleSoft PeopleTools definition that is created to access a Component buffer without actually accessing the Component physically from the PIA.

You might also like