Sunteți pe pagina 1din 35

DoModalComponent function.

However, variables declared as Component do not remain defined after using the Transfer function, whether you're transferring within the same component or not. Local variables remain in scope for the life of a PeopleCode program. You should initialize user-defined variables by setting them equal to a constant or a record field before you use them. If you do not initialize them, strings are initialized as null strings, dates and times as nulls, and numbers as zero. System variables are preceded by a percent (%) symbol whenever they appear in a program. You can use these variables to get the current date and time, information about the user, the current language, the current record, page, or component, and more. You might also like: PeopleCode Questionnaire More PeopleSoft Questions PeopleSoft Generic Questions PeopleSoft Knowledge Collection Data mover/SQR Questions
LinkWithin

Posted by My Tech Speak at Thursday, December 31, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: variables Reactions:

How PeopleCode Programs are Stored and Saved


When you save an Application Designer definition, PeopleTools saves all PeopleCode programs belonging to that definition that have been added or modified. Component record field PeopleCode and component record PeopleCode belong to the component. If new PeopleCode programs have been added, PeopleTools creates anassociation between the owning definition and new rows in the PeopleCode table. If a PeopleCode program is deleted, the association between the owning definition and the program is also deleted. Saving PeopleCode programs together with their owning definitions helps to guarantee the integrity of the application. In the event of system failure, its now extremely unlikely that your application could end up storing PeopleCode programs that are not associated with any definition; or worse, a definition associated with a PeopleCode program that was never saved. When you save any Application Designer definition, all PeopleCode programs that youve added or changed since the last save will be checked, formatted, and saved at the same time.If you want to format and check the syntax of a single PeopleCode program, use the Validate Syntax command instead of the Save command. Automatic Backup of PeopleCode:

A PeopleCode program is automatically saved to a file while youre working on it. This checkpoint occurs at the following times: actually Every 10 keystrokes. On a save command, just prior to the save being executed (in case the save doesnt

execute because the code is invalid). When another PeopleCode program is selected to be edited (if you have two PeopleCode editor windows open at the same time, and you move from one to the other). The file is saved to your temp directory (as specified in your environment), in a file with the following name: PPCMMDDYY_HHMMSS.txt where MMDDYY represents the month, date and year, respectively, of the checkpoint, and HHMMSS represents the hour, minute and second, respectively. The top of the checkpoint file contains the following information: [PeopleCode Checkpoint File] [RECORD.recordname.FIELD.fieldname.METHOD.eventname] If your PeopleCode program is saved successfully, any checkpoint files associated with that program are automatically deleted. You might also like: More PeopleSoft Questions Creating the CI in easier way and Save the development time Excel Datasources Populate Data on a button click PeopleCode Built-in Functions
LinkWithin

Posted by My Tech Speak at Thursday, December 31, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: coding, others Reactions:
Wednesday, December 30

Trim the New Line character

Recent hurdle faced in a task was about trimming a newline character while generating a CSV report. I thought it will take time to find a work around for the problem. Luckily my manager had the piece of code in his learning collection. The code is shown below. The new line character in peoplesoft is represented by Char(13)|Char(10). &job_descr_cal = Substitute(&job_descr, Char(13) | Char(10), " "); This will substitute the new line character with space and the issue is resolved You might also like:
Ajax Vertical Slider. Working with Pagelet Wizard Quick tips Embedding Pagelet to a Page Context Sensitive Help
LinkWithin

Posted by My Tech Speak at Wednesday, December 30, 2009 1 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: coding Reactions:
Tuesday, December 29

Refresh the Events list

You might also like:


PeopleSoft Ping What's in a PT8.50 upgrade? TREE generation using PeopleCode Quick tips Implementing Related Content
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: others Reactions:

Standalone Rowset
In addition to being able to create records on the fly, you can create a standalone rowset. You can use this type of object to get rid of hidden work scrolls on a page. Standalone rowsets are not tied to the database. This means if you make changes to data in a standalone rowset, it will not be automatically saved to the database. In addition, a standalone rowset isn't tied to the component processor. When you fill it with data, no PeopleCode programs or events run (like RowInit, FieldDefault, and so on.) Use the CreateRowset function to create a standalone rowset. The parameters for this function determine if the structure of the rowset you're creating is based on an already instantiated rowset, on a record definition, or both. For example, to create a rowset based on an existing rowset, pass in the name of the existing rowset. &Level0 = GetLevel0(); &MyRowset = CreateRowset(&Level0); You can create rowsets based on record definitions. The following code creates a rowset structure composed of four records in an hierarchical structure: QA_INVEST_HDR QA_INVEST_LN QA_INVEST_TRANS QA_INVEST_DTL

Local Rowset &RS, &RS2, &RS_FINAL; &RS2 = CreateRowset(RECORD.QA_INVEST_DTL); &RS = CreateRowset(RECORD.QA_INVEST_TRANS, &RS2); &RS2 = CreateRowset(RECORD.QA_INVEST_LN, &RS); &RS_FINAL = CreateRowset(RECORD.QA_INVEST_HDR, &RS2); You might also like: Handy PeopleCode for beginners TREE generation using PeopleCode XML Publisher Development Using Array in PeopleSoft How to create cool charts in PeopleSoft
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: coding Reactions:

%EffDtCheck
The following example uses the %EffDtCheck meta-SQL statement, which expands into an effective date sub-query suitable for a WHERE clause. &DATE has the value of 01/02/1998. The &REC object has an EFFDT key field. The following code sample

SQLExec("SELECT FNUM FROM PS_REC A where %EffDtCheck(:1, A, :2)", &REC, &DATE);

resolves into the following:


"Select FNUM from PS_REC A where EFFDT = (select MAX(EFFDT) from PS_REC where PS_REC.FNUM = A.FNUM and PS_REC.EFFDT <= %DateIn('1998-01-02') )"

You might also like:


Resolve MetaSQL

Dynamic Page Title Working with Pagelet Wizard What's in a PT8.50 upgrade? Code for Attachment Launch
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: coding Reactions:

Indexing processes in TAM module


The key word search in the in the Job search page was not working properly was the issue raised by the customer. The search was working fine in the development instance. People Book search revealed the fact that there are processes which will index the active job postings for the search. we ran those processes and the Keyword search was working fine. These processes, which were scheduled in the production environment was failing because of some issues, which created the whole issue. However the identification of the processes are added into the learning collection. Those processes are given below. Build Job Index Run the process to build or rebuild the Verity index of jobs. Build Applicant Index Run the process to build or rebuild the Verity index of applicants. Run Job Search Agent Run the Job Search Agent process. You might also like: Activating Verity Search Engine %UpdateStats in peoplecode Understanding Row Level Security PeopleSoft Knowledge Collection Process Schedule WalkThrough
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: index, others

Reactions:

Security Processes
Refresh SJT_OPR_CLS and Refresh SJT_CLASS_ALL are Security process. When to execute Refresh SJT_OPR_CLS process On the Roles - Permission Lists page Add a permission list with data permission to a role that is already assigned to one or more users. Remove a permission list with data permission from a role that is already assigned to one or more users. On the User Profile component Add a row security permission list. Delete a row security permission list. Add a role with data permission. Delete a role with data permission. Clone an existing profile that has data permission through roles or a row security permission list. Deactivate a user. You can refresh SJT_OPR_CLS in real-time by using the subscriptions on the USER_PROFILE and ROLE_MAINT messages or on demand using the SCRTY_OPRCLS app engine process. Run the Refresh SJT_CLASS_ALL process when Add a new department to a department security tree. Delete a department from a department security tree. Move a department to another parent node in a department security tree. Modify a department security tree. You might also like: About Security Processes

Understanding Row Level Security PeopleSoft Query Security Security Views Process Schedule WalkThrough
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: process, security Reactions:

Jolt Pooling issue fix


If you have read my previous post on Web Server Jolt Pooling & Download to Excel relation, here are some more information I just received from my Data base administrator. While the Jolt Pooling feature is introduced, it was an efficient way to balance the load to the application server. However the limitations made the roll back of the feature. That is why the 'Disabling of Jolt Pooling' helped to solve the issues regarding the Excel download and View attachment functionality. Now the fix for the issues while Jolt Pooling is enabled, is released by Oracle. Thanks to my DBA for providing this valuable information. From Customer connection SOLUTION 201036989 - E-FTP: ViewAttachment does not work after upgrade to tools 8.48.xx. SPECIFIC TO: Enterprise PeopleTools 8.48.xx ISSUE: ViewAttachment does not work after upgrade to tools 8.48.xx. View attachment does not work on first click but does work on second or third attempt. Tools 8.48 has change in web.xml file for Jolt Session Pooling. Jolt Session Pooling is set to True by default, which was not the case in earlier tools release. SOLUTION: This seems to be only affecting PT 8.48 and greater releases at this point. Please see workaround to resolve this issue. The final fix for this issue is in tools patch 8.48.16 and 8.49.09, where Joltpooling is not required to be disabled for Viewattachment. WORKAROUND: Change the web.xml file as follows.

init-param> <param-name>joltPooling</param-name> <param-value>false</param-value> File should be in following directory ./applications/peoplesoft/PORTAL/WEB-INF/web.xml There are several servlet where joltpooling is enabled, you need to change only for PSP and PSC servlet. Also you need to bounce the web server and delete web server cache. You might also like: Web Server Jolt Pooling & Download to Excel relation Interview Questions Understanding Row Level Security Securing Your PeopleSoft Application Commencement address by Steve Jobs at Stanford University,2005
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 1 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: coding, others Reactions:

Web Server Jolt Pooling & Download to Excel relation


Today was a day with lot of learning's in hand.One, I heard my team mate telling about the "download to Excel" button is not working problem. Second, I received a mail from the DBA team regarding a term I never heard before, 'JOLT POOLING'. I gave a quick search to find out what that term exactly is and I landed in Hexaware PeopleSoft Field Book. After I finished reading Vijayakumar Chinnasamie's blog, it was surprising for me to know the relation between the two learnings I got today. To know more about it, read Vijay's blog. I am providing the links below: Postone:http://blogs.hexaware.com/peoplesoft_fieldbook/peoplesoft/jolt-sessionpooling-on-the-web-server-configuration.html PostTwo:http://blogs.hexaware.com/peoplesoft_fieldbook/peoplesoft/take-2-joltsession-pooling-continued.html PostThree:http://blogs.hexaware.com/peoplesoft_fieldbook/peoplesoft/take-3-joltsession-pooling-covered.html Please read through all the three posts in order to understand Jolt Pooling and How to resolve the 'download to excel not working' issue. You might also like: Jolt Pooling issue fix Creating excel through App Engine

Create Excel Files in SQR and PeopleCode PeopleSoft Web Services - Consume Web Service PeopleSoft Ping
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 1 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: coding Reactions:

Using SQL Definitions with SQLExec


There are times when SQLExec is the appropriate function to use. If you only need a single row,use SQLExec, which can only SELECT a single row of data. If your SQL statement retrieves more than one row of data, SQLExec outputs only the first row to its output variables and discards subsequent rows. This can improve singleoperation performance. However, you don't have to hardcode your SQL statement. SQLExec is enhanced to accept the SQL definitions, and the new meta-SQL, so you can reuse your SQL statements. For example, consider the following statement: SQLExec("Update %Table(:1) set %UpdatePairs(:1) where %KeyEqual(:2)", &REC,&FIELD); If you have created a SQL definition with this SQL statement and named it MYUPDATE, you can use it with SQLExec as follows: SQLExec(SQL.MYUPDATE, &REC, &FIELD); You might also like: SQL Definitions and the SQL Class Example SQL Alt+F1 key One way for Avoiding SQLEXEC usuage Use Dynamic SQL for Prompts - SqlText Enabling and understanding SQL trace in PeopleSoft
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: sql Reactions:

SQL Definitions and the SQL Class Example


Can you spot any best practices in the piece of code below? We can use the SQL class to create temporary SQL statements for manipulating data. The following example creates a temporary SQL statement, then writes all the rows of data from a record to a file: Local Record &LN; Local File &MYFILE; Local SQL &SQL2; &MYFILE = GetFile("record.txt", "A"); If &MYFILE.IsOpen Then If &MYFILE.SetFileLayout(FILELAYOUT.ABS_HIST) Then &LN = CreateRecord(RECORD.ABSENCE_HIST); &SQL2 = CreateSQL("%Selectall(:1)", &LN); While &SQL2.Fetch(&LN) &MYFILE.WriteRecord(&LN); End-While; End-If; End-If; &MYFILE.Close(); You might also like: Using SQL Definitions with SQLExec Use Dynamic SQL for Prompts - SqlText Enabling and understanding SQL trace in PeopleSoft SQL Alt+F1 key Handy PeopleCode for beginners
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: sql

Reactions:

Using the Record Class


What if we can avoid the use of SQLEXEC in coding? Improved efficiency of the system. With the Record class you can build and execute a SQL statement by using the following methods: (Avoiding the use of SQLExec) Delete nsert SelectByKey Update Example 1 In the following example, the existing code selects all fields into one record then copies that information to another record. The existing code used SQLExec. The rewritten code uses a record object method SelectByKey. Existing Code &MYKEY = "001"; SQLExec("select %dateout(msdate1), %dateout(msdate2), %timeout(mstime1), %timeout(mstime2), %timeout(mstime3), %datetimeout(msdttm1), %datetimeout(msdttm2), %datetimeout(msdttm3) from ps_xmstbl1 where mskey1 = :1", &MYKEY, &MYDATE1, &MYDATE2, &MYTIME1, &MYTIME2, &MYTIME3, &MYDTTM1, &MYDTTM2, &MYDTTM3); SQLExec("delete from ps_xms_out1 where mskey1 = :1", &MYKEY); SQLExec("insert into ps_xms_out1

(mskey1,msdateout1,msdateout2,mstimeout1,mstimeout2,mstimeout3 ,msdttmout1,msdttm out2,msdttmout3)values(:1,%datein(:2),%datein(:3),%timein(:4), %timein(:5),%timei n(:6),%datetimein(:7),%datetimein(:8),%datetimein(:9))", &MYKEY, &MYDATE1, &MYDATE2, &MYTIME1, &MYTIME2, &MYTIME3, &MYDTTM1, &MYDTTM2, &MYDTTM3); Re-Written Code SelectByKey works by using the keys you've already assigned values for. It returns successfully if you assign enough key values to return a unique record. In this example, the record has a single key, so only that key value is set before executing SelectByKey. If your record has several keys, you must set enough of those key values to return a unique record. Local record &REC, REC2; &REC = CreateRecord(RECORD.XMSTBL1); &REC.MSKEY1 = "001"; &REC.SelectByKey(); &REC2 = CreateRecord(RECORD.XMS_OUT1); &REC.CopyFieldsTo(&REC2); &REC2.Delete(); &REC2.Insert(); Example 2 Existing Code If None(&EXISTS) Then SQLExec("insert into ps_rt_rate_tbl (rt_rate_index, term, from_cur, to_cur, rt_type, effdt, rate_mult, rate_div) values (:1, :2, :3, :4, :5, %DateIn(:6), :7, :8)", RT_RATE_INDEX, TERM, TO_CUR, FROM_CUR, RT_TYPE, EFFDT, RATE_DIV,

RATE_MULT); SQLExec("select 'x' from ps_rt_rate_def_tbl where rt_rate_index = :1 and term = :2 and from_cur = :3 and to_cur = :4", RT_RATE_INDEX, TERM, TO_CUR, FROM_CUR, &DEFEXISTS); If None(&DEFEXISTS) Then SQLExec("insert into ps_rt_rate_def_tbl (rt_rate_index, term, from_cur, to_cur, max_variance, error_type, int_basis) values (:1, :2, :3, :4, :5, :6, :7)", RT_RATE_INDEX, TERM, TO_CUR, FROM_CUR, RT_RATE_DEF_TBL.MAX_VARIANCE, RT_RATE_DEF_TBL.ERROR_TYPE, RT_RATE_DEF_TBL.INT_BASIS); End-If; Else SQLExec("update ps_rt_rate_tbl set rate_mult = :7, rate_div = :8 where rt_rate_index = :1 and term = :2 and from_cur = :3 and to_cur = :4 and rt_type = :5 and effdt = %DateIn(:6)", RT_RATE_INDEX, TERM, TO_CUR, FROM_CUR, RT_TYPE, EFFDT, RATE_DIV, RATE_MULT); End-If; Re-Written Code Local record &RT_RATE_TBL, &RT_RATE_DEF_TBL; . . .

If None(&EXISTS) Then &RT_RATE_TBL = CreateRecord(RT_RATE_TBL); &RT_RATE_DEF_TBL = CreateRecord(RT_RATE_DEF_TBL); &RT_RATE_TBL.Insert(); &RT_RATE_DEF_TBL.SelectByKey(); If None(&DEFEXISTS) Then &RT_RATE_DEF_TBL.Insert(); End-If; Else &RT_RATE_TBL.Update(); End-If; You might also like: TREE generation using PeopleCode Photo Upload interface code Handy PeopleCode for beginners Using Array in PeopleSoft Email Address Validation Function
LinkWithin

Posted by My Tech Speak at Tuesday, December 29, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: coding Reactions:
Saturday, December 26

Implementing ERP: The 5 Mistakes to avoid


I have written about Digital Marketting earlier. Thats the primary reason why i am a frequent visitor to Infosys blog collection. The five main mistakes quoted below are genuine as i have experienced it during my course with the ERP implementation for a prestigious client. I would say we had tough times due to the resistance from the usergroup and the ignorance from the client, which eventually didn't help them to understand the full potential of the worldclass ERP package. What are those mistakes ?

a) Choose a costly Partner than a cost effective vendor One must thoroughly assess all of options in evaluating potential external implementation companies. Software companies aren't always the best at implementing their own software, and some are more expensive than others. An organization should look at a vendor who can partner with them in their ERP initiatives not only for software implementation but also in managing the non-technical aspects of the project, such as organizational change management, training, and ERP benefits realization. b) Map the software to Business requirements dont just buy it If an organization has decided that ERP is the route it needs to take, it is important to begin by looking at the desired software to implement. In most of the cases, package selection is influenced by top executives who have previously worked on particular package. Instead, executives should define and document key business requirements irrespective of the package that may be selected. This includes not only nice-to-haves, but also requirements that can be "proposalbreakers" if the software is unable to accommodate. The package selected should focus on achieving measurable business value for the organization, and one should choose the software that best enables to do this c) Focus less on System training and more on Change management / Executive sponsorship What is your Business Case and ROI? This is where many companies fall apart. Answering and documenting this question is important to get Executive sponsorship and ownership for an ERP program. The lack of a change management approach as part of the program can prevent a program from succeeding. Resistance to change is human nature and is quite often caused by (1) A failure to convince a case for change, (2) Lack of involvement by those responsible for working with changed processes (3) Inadequate / Improper communication (4) Lack of visible top management support and commitment, and (5) Arrogance. A lack of buy-in often results from not getting end-users involved in the project from the very start, thereby negating their ownership of the new system and processes. ERP-related training is also crucial as most employees must learn new software integration and business processes which affect the operation of the entire organization. Appropriate focus should also be given on this part of the ERP implementation else it leads to much pain and suffering downstream. d) Dont just Save Dollars sometimes? One of the key causes of ERP implementation failure is unnecessary cost cutting. In an effort to avoid multi phased roll out costs, repetitive conversion costs, some companies take a very risky route and go live Big-bang at multiplant sites simultaneously, subjecting all plants or some plants to a total shutdown, should there be a failure Some projects have compressed schedules in order to save on expenses, only to eventually overrun both schedule and budget. Sometimes the question What is my Value for Money / ROI? should take a back seat as some projects should be treated as an upgrade to the company infrastructure that is necessary to maintain or gain a strategic and competitive advantage. e) Yes we can but are we prepared for Failure? Best organizations would prepare themselves for unforeseen contingencies, similarly all implementation projects should have a fail over plan. No matter how well-run a project is, one should be prepared for failure. If the project failed or if the software was not implemented correctly, what will be the backup plan? Would users be able to access legacy systems? Would certain processes be performed manually until the system is brought up? Catastrophic failures may not be common, but they do happen on occasions, so companies should be prepared for the "what-ifs."

Savio, My Tech Speak You might also like: Understanding ERP - Right from the very basics PeopleSoft Knowledge Collection More PeopleSoft Questions Interview Questions PeopleSoft Generic Questions
LinkWithin

Posted by My Tech Speak at Saturday, December 26, 2009 0 comments Email ThisBlogThis!Share to TwitterShare to Facebook Links to this post Labels: business, client centric, ERP, implementation, Technology Reactions:
Monday, December 14

More PeopleSoft Questions


1.What is a record? A record definition is a definition of what your underlying SQL database tables will look like, and how they will process data. 2.What are the record structures available in peoplesoft? Multiple types of records can be created within application designer. SQL Tables SQL Views Dynamic Views Derived /Work records SubRecords

3. How to define parent-child relations in peoplesoft? Some times while creating records, you'll have a field within a table for which you want to allow multiple occurrences, in which case you create a subordinate or child table. For ex. For employee reviews, an employee can be reviewed for performance in multiple categories - organization skills, interpersonal skills etc. These categories and ratings are stored in a separate child table, EE_REVIEW_RT, which is related to REVIEW_DT, the parent table which stores data about employee reviews. The keys you set on parent record will determine which keys are required on any child records. The child must have the same keys as the parent, plus one or more keys that uniquely identify each row. 4. Can we assign default value for a field in Data Designer? Yes, we can assign a default value to a field. Record field properties - Use - Default value 5. How do we create custom field format?

Custom field format allows you to create your own format definitions using format notation, and apply them to fields. These formats are organized into Format Families, which can include one or more unique formats. 6. What are the keys available in Peoplesoft? Key - Search Key - Duplicate Order Key - Alternate Search Key - Descending Key 7. What is significance of 'Rs Dt' in Data Designer? Reasonable date specifies whether a reasonable date test will be performed on a date field. The reasonable date test warns if the date is outside a 30-day range before and after the current date. 8. What is a 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. For example, let's say that we want users to enter Employees IDs in the EMPLID field, which is stored in PERSONAL_DATA. By entering PERSONAL_DATA as the Prompt Table, users simply press F4 on EMPLID to select from a list of Employee ID values for this field. 9.What is Translate/xlatt field? 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. 10.What is the maximum field length for an xlatt field and what data types does it support? Max field length 4, CHAR Datatype. 11. What is the significance of 'No Edit ' in edits section in Data Designer? If you don't want to establish any special edits for a record field click 'No Edit' option button in Record field properties - Edits 12. What is Set control field, where can it be utilized? When you enter a name in Prompt Table (Record field properties - edits) and tab off the field, Set Control Field is activated. This enables you to select a Set Control Field that overrides the Set Control Field of the record definition specified in Prompt table. If you don't specify a name in this field, it defaults to the Set Control Field of the table specified in prompt table. 13. What is Cache how is it useful for clients? The Cache or Cache record is a PS record, keyed by process instance, that must be created and maintained by the Application Engine Developer. This record defines the fields that an application uses to pass values from one SQL statement to another. When an application is started, a row in the cache record is created for the assigned process instance. It is then updated by application engine whenever a COMMIT is performed. The cache row is deleted upon successful completion of the application.

14.What is Query Security Record? Query Security Record is to secure access to a particular record using a security view. 15.What is a Dynamic view record? Record def that can be used like a view in panels and Peoplecode, but is actually not stored as a SQL View in the database. Instead, Application Processor uses the text as a base for the SQL SELECT that is executed at runtime. Dynamic views some times provide superior performance such as search records. 16.What is the use of Derived/work record? A temporary work space to be used during online panel processing. A derived or work record is not stored on the database, so you don't build it. 17.What is Query view, how to define it? A view constructed using Peoplesoft Query tool. 18.What is the use of Search key and list box item? When you turn on Search Key, the system will include this field in the search dialog for a panel. And it automatically turns on the List Box item. Turn on the List Box Item if you want the field to appear in F4 prompt lists and in the list box preceding a panel. 19. Can we rename a field/record, How does it effect front-end and database? When you rename a record definition, the system automatically renames all references to it in Peoplecode except in the text portion of the SQL Functions, such as SQLExec and Scroll Select. If you have already SQL Created the underlying tables for the record definition you renamed, you'll need to recreate the table. If you have data in this table you want to preserve, you should use the SQL Alter function to rename the data base tables. When you rename a field, the system automatically renames all references to it in Peoplecode, except in the text portion of the SQL functions such as SQLExec and Scroll Select. 20.Can we delete a field in the record structure? You cannot delete a field if it is currently used on any records. Before you delete a field, you must first remove it from any records where it resides. 21.How exactly index are built in application designer? Using Application Designer, you create several kinds of object definitions that represent database components. Record definitions represent tables, indexes and views. The Build process is the centerpiece of Application Designer, which uses DDL to construct a database component (index is one such componet) based on the associated records and fields. Some indexes are defined automatically, based on the search key, list box items and alternate search keys you set in your records. However it is sometimes necessary to define additional indexes to improve the performance. 22.What are system tables, application tools table, User tables in peoplesoft? System Catalog Tables Ptools Tables Application Tables Sysobjects PSRECDEFN JOB_DATA Syscolumns PSPNLDEFN PERSONAL_DATA

23.What is audit? How many types of audits available in peoplesoft? For some field values, you may want to keep a history of who adds, changes, or deletes data. When you set the options for tracking that info it is called auditing. When you turn on the Audit field options (Record field properties - Use) Psoft track the info into PSAUDIT table. Three types of audits are available in peoplesoft? Field Add: Audits the field whenever a new row of data is added. Field Change: Audits the field whenever the contents are changed. Field Delete: Audits the field whenever a row of data is deleted. 24.What is the System Maintain field in Record field properties - Use? The System maintained option is for system documentation purposes only and doesn't affect processing. Check this if you want to document that the field value is system-generated. 25.What is a Subrecord? A SubRecord by definition allows you to add a group of fields that are commonly used in multiple record definitions. A SubRecord must be defined before it can be entered into a record definition. Insert - SubRecord 26.What are Sub panels? If you have groups of controls, such as address controls, that you use on multiple panel definitions, you can save it as a subpanel. And insert this sub panel wherever you want. 27.What are Secondary panels? Secondary panels are used to gather or display information related to the objects that appear in a primary panel. A secondary panel can be called from the primary panel and used to enter or display additional data without cluttering your primary panel. 28. How to invoke the secondary panel? There are two ways : Insert a push button control type of Secondary Panel. This automatically invokes the secondary panel when the user presses the button. Insert a secondary panel control. This is invisible at run time. When you use a secondary panel control , you must also insert a command push button on the panel and call the DO MODAL People code function from the push button's FieldChange event in order to invoke the secondary panel. 29. What is a Related Display field and 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 panel. 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 panel marked as display control fields in the Related control field box. Select the control field to which this particular related display is related.

30. How many scroll levels are available in peoplesoft? 3. 31.Can we define Child table fields in '0' level? No, Parent tables only can be associated at '0' level. 32. What is a Command Push button? Command Push buttons are associated with a record.field, so when the user presses the push buttons, the Application Processor executes any field change Peoplecode associated with that panel control. 33.What is a menu item and bar name? There are four types of menu items:Panel group: defined only in standard menus Transfer menu items: defined only in pop-up menus. Peoplecode and Separator menu items: Available for both pop-up and standard menus. 34.What is a panel group? A panel group represents a complete business transaction. It can be composed of either a single panel or a set of panels that should be processed as if it were one panel. Think of it as paging through several pages of a single display. Panel group control: The grouping of panels and their associated labels on a cascading menu - The search record used to retrieve data into the panel Associated user actions. 35. What is standard / panel group search record ? The panel group search record is the record used to populate the panel group's level-zero search key fields; this enables the system to identify a unique row of data for the level-zero primary records in the panel group's panels, build a panel buffer for the panel group, and display the panel. 36. What is add mode search record? When a different search record (other than standard search record) is specified for Add actions to create special security views that limit the rows operators can add based on specific search criteria or to specify a different search record for add actions. 37. What are the allowed actions in menu? Add, Update/Display, Update / Display All, Data Entry and Correction. 38. What is the main difference between 'update/display' and 'update/display all'? Update / Display - Used to update existing rows only. Update / Display All - Used to update current and future rows in an effective dated record. Only used with effective dated records. 39. How exactly allowed actions work with 'Effdt' panels?

Action Type View Change Insert New Rows Update / display Current , Future Future only Eff dt > the current row Update / Display all History, Current Future only , , Future Correction History , Current All existing rows Add new rows with no Future Eff dt restrictions 40. What is a menu group? Menu groups are groups of standard menus that can be accessed from the PeopleSoft Go menu bar. If the menu group contains two or more standard menus, the standard menu labels appear in a cascade menu to the right of the menu group on the Go menu bar. 41. What is an operator and operator class? Operator definitions - commonly referred to as operator Ids, or just operators - have associated pass words. Operator definitions are for each user in your system. An operator can be defined with its own set of system permissions and restrictions, or it can inherit this info from one or more class definitions to which it is linked. Class def have no user passwords associated with them; you can't use a class def to sign on to the system. Instead, u use classes to organize your users into groups with common access rights. Instead of setting up access rights for every operator, you can define just a few classes and link your users to them. 42.What is the purpose of access_id? When you create an operator ID you must assign it an access profile, which specifies an access ID and password. Access ID connects Peoplesoft application(s) with RDBMS, once their password is validated. 43.What is Operator security and Object security? Object Security is to control access and update to the people tools objects - record def, menu def, proj def, panel and panel group def, tree structures, trees, import def, translate tables and queries. Operator Security is to control when each Peoplesoft user can sign on, which People Tools and application menu items they can access, what processes they can run and more. 44.What is SetID? SetIDs are simply the lables used to identify a TableSet. SetId is an additional primary key in control tables, that enables sharing of control table information across business units. All rows of data in your control tables keyed by the same SetID make up a TableSet. 45.What are the tablesets? A TableSet is a group of rows across your control tables identified by the same SetID. In other words, all rows of data in your control tables keyed by the same SetID make up a TableSet. Tablesets or group of tables enables sharing of control table information and processing options among business units. For ex., using Tablesets you can define a group of Job Codes that can be shared by different business units. 46.What is Application processor? The Application Processor does all the behind scenes (panels) work. Application Processsor - the People Tools online processor, manages the flow of data processing as users enter informatiion on

panels - builds SQL statements based on the actions performed on panels - issues INSERT, DELETE and UPDATE statements to maintain data on the database and SELECT statements to retrieve data. 47. What is the significance of PER099.SQR program? Refresh Employee Data - When you run this report, the system will update the table with data valid before or on the 'As of Date' you specify. 48.What are the paragraphs available in SQR? - SELECT - SQL - DOCUMENT 49.How many kinds of trees are available in tree manager? Many kinds of trees for a variety of purposes can be created, but all trees fall into these major types: Detail trees - in which database field values appear as detail values.

Summary trees - provides an alternative way to group nodes from an existing detail tree, without duplicating the entire tree structure. Node - oriented trees - in which database field values appear as tree nodes. Query access trees - to organize record definitions for PeopleSoft Query security.

50.What are the tree structures, and how to define a new structure in tree manager? Two kinds of tree structures : Detail tree structures and Summary tree structures. You use detail tree structures for all trees except summary trees, including node-oriented trees. ? Creating a detail tree structure: Select Structure, New, Detail Enter a Structure ID and description for the tree structure Enter the panel and record definition to use for entering and storing info about levels. Enter the panel, record def and field to use for entering and storing info about tree nodes. Enter the info the tree manager needs for capturing and storing detail values. Click the Save button to close the dialog box and create the tree structure.

? Creating a summary tree structure: Select Structure, New, Summary. Enter a Structure ID and description for the tree structure. Enter the panel and record definition to use for entering and storing info about levels. Enter the panel and record definition to use for entering and storing info about tree nodes. Enter the name of the view that joins the summary tree to a detail tree.

Identify the detail tree whose detail values the summary trees summarizes, and the level from which to start. Click the save button to close and create the tree structure.

51.What is query tree? PeopleSoft query uses a special type of tree, query tree, that organizes record definitions into access groups. In the Query Security panel group, you specify which access groups an operator or operator

class has access rights to. Users can only create or run queries on record definitions from access groups they have rights to. 52.How many query types available in Query tool? 7 types: Ad hoc queries: to retrieve data from the database on the spot, when you need it. Queries written for use with cube manager must be Ad hoc queries. Reporting queries: Retrieve data for reports and pass the data to Excel, Crystal reports pro, or a PS/nVision tabular layout. PS/nVision matrix queries: Queries as part of a PS/nVision matrix layout. View queries : to create SQL views in the Application Designer.

Search queries: Queries that can be selected through search dialog boxes in PS applications for the records you want to find. Database agent queries: Used in PS workflow, to detect conditions that trigger business events, then schedule database agents to run them periodically. Role queries: Queries that PS workflow uses to determine who to send emails forms or worklist entries to. 53.What function is used for invoking a secondary panel? DoModal. 54. What is a message agent? The Message Agent is an automated user workstation. Rather then taking input from the keyboard, it receives messages from third-party applications. The messages tell the Message Agent to do some of the same things a user would: navigate a panel group, enter data into the panel fields and save panel. For ex. It could accept a form from an electronic forms package, read its contents and transfer the data to a panel. It acts as an electronic clerk to process requests according to rules defined in workflow. Using the Message Agent API, you can write programs that add data to the PeopleSoft database. 55.What is a role and how to define a role? Roles describes how people fit into the workflow. A role is a class of users who perform the same type of work, such as clerks or managers. Business rules specify what user role needs to do an activity. For ex., department managers (a role) must approve external course requests. 56.What is Work list? A work list is a list of the items awaiting an activity. Users select items from the list, and the system automatically displays the panels they need in order to work on the items. Work lists are automatically created as you route items to them. To define a worklist, you just need to create a worklist record definition and define worklist routings. 58. What is Global variable and local variable, how to declare them? A global variable, once declared in any Peoplecode program, will remain in scope throughout the PeopleSoft session. The Global statement allows you to declare PeopleCode global variables. The variable must be declared with the Global statement in any PeopleCode program in which it is used. A local variable remains in scope for the life of a PeopleCode program. They cannot be declared inside of function declarations; that is, there are no function-level local variables. 59. What is the purpose of CreatObject function in peoplecode?

CreateObject 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"); 60.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: Create a new menu or open an existing menu. Access the menu properties of the new menu item. Edit the properties of the new menu.

If the popup menu has never been saved, you must save it before you can access its peoplecode. To access the PeopleCode editor, right click on the PeopleCode menu item, then choose View PeopleCode. Write the Peoplecode program in the PeopleCode editor, then save the menu. 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: Open the standard menu to which you want to add an item. Access the menu properties of the new menu item. Edit the new menu item properties.

To access the PeopleCode editor, right click on the PeopleCode menu item, then choose View PeopleCode. Assign the new menu to operators in the Security Administrator.

61.What is three-tier architecture? Prior to PeopleSoft 7, PS applications are executed in a two-tier architecture, where all the online application logic runs on the client using data obtained directly through SQL calls from a separate database server. PeopleSoft 7and 7.5 supports three-tier transaction processing, where portions of the application logic move from the client to an application server that communicates with the database server. The components that comprise the tiers are : Clients: Windows and web clients. (PS supports a UNIX Message Agent client for use with the Message Agent only) PS Application Server: A UNIX or Windows NT machine containing BEA's Tuxedo middleware product and BEA's Jolt. The application server may or may not reside on the same physical machine as the database server. Database Server: Running any of the supported RDBMS / platform combinations. Advantages: Reduced network traffic

Improved WAN performance

Reduced maintenance of client workstation configuration (especially for the casual user), since database connectivity is not required on the client. Enabling Web Client connections. Ability to scale the system, as needed, to meet rising user demands by reconfiguring application servers, by installing application server(s) on more machines, and by using multiple applications servers. 62.What is Tuxedo? The application server, the centerpiece of PeopleSoft's three-tier architecture, utilizes Tuxedo, BEASystems' transaction monitor, to manage and monitor client transactions. When a client work station requests sends requests to the application server where Tuxedo then schedules a PeopleSoft service, such as Panel Group Build or Save. BEA tuxedo software for thewindows and web client comes bundled with Peopletools - embedded in PeopleSoft's binary directory. 63.What is inbound map and outbound map? Electronic commerce maps (that help transfer data from PS Business Documents to the staging tables in the PeopleSoft database) specify how the EDI Agent transfers data between PeopleSoft Business Documents and the staging tables in the PeopleSoft database. There are two types of maps: Inbound maps, which the EDI Agent uses to transfer data from PeopleSoft Business Documents and the staging tables for processing by a PeopleSoft application. Outbound maps, which the EDI Agent uses to create PeopleSoft Business Documents from data the application put in the staging tables for delivery to a trading partner. 64.What is SQLExec function ? And what are the limitations of this command? The SQLExec function executes a SQL command from within a PeopleCode program by passing an SQL command string. The SQL command bypasses the Application Processor and interacts with the database server directly. Limitation of SQLExec SELECT statement: Only a single row of data. If you write a SQL statement that retrieves more than one row of data, SQLExec outputs only the first row to its output variables. If you want to select multiple rows of data, you can use ScrollSelect to read rows into a work scroll. Limitations of SQLExec UPDATE, DELETE, and INSERT statements: These statements can only be issued in SavePreChange, Workflow and SavePostChange events. 65. Which PeopleTool is used to input peoplecode? - Application Designer. 66. How can you access PeopleCode editor? 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. 67. When is PeopleCode case sensitive? PeopleCode is only case sensitive within a quoted literal. 68. What are the most commonly used PeopleCode events? FieldChange, RowInit, SaveEdit, FieldEdit, FieldDefault, and SavePreChange in that order. 69. In which PeopleCode would you code errors and warnings? SearchSave, FieldEdit, SaveEdit and RowDelete primarily. You may also code errors and warnings in RowSelect. 70. 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. 71. 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. 72. 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. 73. 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. 74. 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. 75. 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.

76. Can calculated fields be stored on SQLTables? Should they? Calculated fields usually are not stored on SQLtables. However, they might be if the calculated field is being passed to an interface that does not have access to the fields needed to calculate the field again. 77. Why would a derived/work field be used? A derived / work field may be used to store and display a calculated value on a panel or to pass a value from one PeopleCode program to another. 78. How is a record definition indicated as a derived / work record? A record definition is indicated as a derived / work record by selecting the "Derived/Work" radio button under the Type tab in the record properties. 79. What major difference is there between derived/work fields and other fields on panel definitions? Derived / Work fields can be on any occurs level and do not need to come from the primary record definition for the level. 80. What types of variables can you define in PeopleCode? Local an Global variables. 81. What happens if you don't declare a variable? If a variable is not declared PeopleCode will assume it is a local variable. 82. How long do local variables last? Local variables are retained in memory only until the PeopleCode program ends. 83. 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. 84. 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. 85. 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.

86. 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. 87. 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. 88. 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. 89. 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. 90. 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. 91. 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. 92. 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. 93.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. 94. 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. 95. 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. 96. Why is PriorValue used? The PriorValue built-in function is used to determine the value of a field before it was changed. 97.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. 98.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. 99. 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. 100. 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. 101.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. 102. 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. 103. How do you turn on the PeopleCode trace? 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.

104. What is the name of the file created by the trace? DBGI.TMP which is stored in TEMP directory. 105. 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. 106. How many rows of data can there be at occurs level 0? There can only be one row of data for each record definition at occurs level 0. Scroll bars are not allowed at this level. 107. How many rows of data can be there at occurs level 1? There can be multiple rows of data for each record definition at occurs level 1 since a scroll bar can be used to navigate between them. 108. What must exist at occurs levels 1,2,and 3 but not occurs level 0? - A scroll bar. 109. How does the application processor allocate buffers to hold data? The application processor starts allocating buffers at occurs level 0 and then works its way down. It uses the panel and record definitions to determine the data it needs. From a panel definition, fields are allocated in TAB order. Generally, if there is one field from record definition on the panel, the entire row will be brought into the buffers. The exceptions are fields that are in the search dialog box, derived work fields and related display fields. 110. 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. 111. 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. 112. 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 built-in 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. 113. When is UpdateValue necessary? The UpdateValue built - in function must be used when updating the value of a field within a PeopleCode looping statement. 114. 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.

115. 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. 116. What PeopleCode events will a command push button perform? Any FieldEdit and Fieldchange PeopleCode programs on the field where the push button is attached. 117. 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. 118. 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. 119.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. 120.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. 121. Why is the ScrollSelect function used? To control the process of allocating buffers in a panel group using peoplecode , instead of the application processor. 122. 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. 123. 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. 124.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. 125.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. 126.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. 127. 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. 128.What PeopleCode event is fired before a popup menu is displayed? PrePopup. It allows you to alter the appearance of the popup menu. 129.What functions may be used to alter the appearance of a menu item? DisableMenuItem, EnableMenuItem, HideMenuItem, CheckMenuItem and UnCheckMenuItem. 130. What PeopleCode event is fired when the user selects a menu item? ItemSelected. Remember, this is associated with menu PeopleCode rather than record PeopleCode. 131. 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. 132.How can SQLExec aid performance? It can aid performance by only retrieving from the database the data required, instead of an entire row. 133. 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. 134. 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. 135. 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 builtin function by using the system variables %DateIn and %DateOut. 137. 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. 138. 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. 139. 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. 140. Compare standard panel groups and modal panel groups. Standard Panelgroups 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

Modal PanelGroups 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.

141. Compare secondary panels and modal panel groups. Secondary Panels Modal Panel Groups Modal Modal Single panel Panel group Usually only accessed from originating panel Via standard menu Buffer is relating to originating panel Independent buffers Keys must be related to originating panel Keys may optionally relate Can read fields on originating panel Reads only shared fields from o.p. Cannot modify fields on originating panel Can modify shared fields on originating panel Secondary panel push button or DoModal() DoModalPanelGroup() 142. How is data synchronized between the originating and modal panel groups? You must add fields from a derived / work record that are shared between the two. You must also add PeopleCode to pass and return values in the derived fields. 143.What are the differences among the OK, Cancel and Apply buttons in a modal panel group?

OK and Apply both save the data within the modal panel group. OK also dismisses the dialog box, Apply doesn't. Cancel dismisses the dialog box without saving any changes to the modal panel group. 144. What questions should you ask yourself before starting to implement a modal panel group? Should the originating panel group provide search key values for the modal panel group? If so, what are the search keys? You might also like: PeopleSoft Knowledge Collection PeopleSoft Generic Questions Interview Questions Understanding Row Level Security Securing Your PeopleSoft Application

S-ar putea să vă placă și