16
1) How to combine two projects? To merge projects: 1. Open the pr oject i n which you want to insert anoth er pr oject . 2. Sel ect Fil e, Mer ge Pro jects. The Merge Projects dialog box appears. 3. Enter Sel ection Criter ia. 1. Enter a pr oject na me or des cript ion (or the b eginn ing char acter s of either ). 2. Click In sert or press En ter to dis play pr oject s matching the selection criteria you entered. 4. Select a project to insert into your currently open pro ject . Double-click the project that you want to insert, or highlight the project and click Insert. To select multiple projects use the Shift or Ctrl keys. 5. Click Insert. All selected definitions are inserted into the project in one action. After each insert, note the information in the status bar and on the Results tab in the output window. 2) In data upload using CI, How to enable it to run next row of data when error occur. For example, 10 transactions This can be achieved by adding the try catch block to catch the exception in the peoplecode. You can catch the exception and do desired processing or log the error. eg: while <reading lines of data> try <all your ci collection related code goes here> catch Exception &ex <error handling> end-try; end-while; 3) What is the use of set control field in record field properties? If we specify one field as a set control field then we will retrieve data based on this when we are using prompt table. Based on this field only we can have valid prompt list at the time of prompt button clicking.

Bi Jan 1

Embed Size (px)

Citation preview

Page 1: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 1/16

Page 2: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 2/16

E.g. there is a business unit field and a there is a prompt field against department field. If we make business unit field as the set control field then only departments of thatparticular business unit will appear in the prompt

4) How many sub pages, secondary pages can be created in one level. 

Any no of sub pages can be created and any no of secondary pages can be created.There are no restrictions

5) How to create prompt table dynamically for the specified field 

The Dynamic Prompt table is used when the prompt values are defined in the runtime.Lets say if X = 1 then use 'EMPLOYEES' as the prompt table else use 'JOB' as theprompt table. end-if.Now in the record definition and record field properties you setthe prompt table as %fieldname.This fieldname can be any field name.(This isnormally taken from a derived work record). This field should be placed on a page andmake it invisble (usually).During the Row init.....you have to set a value to this field.

This value will be the prompt record name. as long as this record is a valid one andthe field contains a valid record name this dynamic Prompt table is used.Normally weuse the field EDITTABLE as the Prompt table container...if the field is RECNAME thenyou should use %RECNAME instead of %fieldname.

======================

In order to use a dynamic promt table; the field that is going to have the dynamicpromt must point to a field in the DERIVED record. The promt table can bedynamically assigned with the following code.

If(condition)

%derivedrecordfield.value=promttable1

else

derivedrecordfield.value=promttable2

end-if;

6) How to migrate roles from one database to another database? 

1. Include all the roles in a project by clicking on Insert -> Definitions into Project ->select Roles and add them into the project. Migrate the project to another database.

2. Create a datamover script to migrate roles from PSROLEDEFN table.

7) Does Application Messaging work between 8.1xand 8.4 applications?

Application Messaging is used by PeopleSoft applications to communicate with oneanother. This is true not just for 8.1x and 8.4 applications, but also between an 8.1x andan 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

Page 3: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 3/16

Application Messages published by certain applications, these new messages will be madeavailable to customers.

8) What is Recordgroup in peoplsoft ?

A Record Group is a group of related records, keyed by SetID, which define the validvalues for one or more fields in PeopleSoft. Related values are keyed with/under a singleRecord Group.

For example, Record Group FS_02 defines edit tables related to Calendars. Record GroupFS_26 defines edit tables related to Locations.

The structure of Record Groups is core to the feature of PeopleSoft known as TableSetsharing. Record Groups support sharing one set of valid values across multiple BusinessUnits.

Within a TableSet, each Record Group must reference one and only one SetID. Values

specific to a Business Unit are keyed by a SetID referenced only by that Business Unit -sometimes the actual BU is used as the key/SetID value. Values shared with one or moreBusiness Units are typically keyed by a more generic SetID - perhaps representative of amarket or geographic segment. Finally, values shared across all Business Units areusually keyed by a generic SetID - sometimes SHARE or MODEL.

9) Difference between search record and add search record?

When we mention a record name in the search record option in the component propertiesthen the searching will take place from that record when the component search pageappears. When we add a new value in the add mode, the record name that we specify inthe add search record option the new value gets stored there. By default if we don’tmention any value in the add search record option then the new value will be stored in thetable mentioned in the search record option.

10) What is component Interface meant for? 

It is an integration tool which is used to integrate peoplesoft component from oneapplication to another application. The application can be another peoplesoft application orthird party application (c/c++, java).

11) If you are PS developer then In what scenarios Component Interface will have advantagesover component?

A component exposes your pages to peoplesoft only. Moreover it helps us to definecommon properties for a set of related pages.

A component interface is a set of application programming interfaces (APIs) that you canuse to access and modify PeopleSoft database information programmatically. PeopleSoftComponent Interfaces expose a PeopleSoft component (a set of pages grouped for abusiness purpose) for synchronous access from another application (PeopleCode, Java,C/C++, or Component Object Model [COM]).

12) How to do object security? How to connect report through process scheduler? 

Page 4: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 4/16

Objects Security - Object Security is used to restrict the People Tools objects that specificdevelopers can access.

=======================

PS8.0, PT8.15.

Application designer - Go – People Tools - >Object Security.

Create a Group Id - Select type of object - The windows will be splitted into two boxes.Then move the objects, to which access has to be given to the developer/s, into the leftside of window. Save the Group Id.

Now link the Group Id to the permission list which is attached to the developer Userid.

13) Can component interface be mapped to multiple PeopleSoft components?

The Component Interface can be mapped to only 1 component.

But there can be multiple component Interfaces for 1 Component

14) The main attributes of a Component Interface (CI) are?

The main attributes of CI are

1. Component Interface Name

2. Keys like Get keys, Find Keys and Create Keys.

Get Keys:- All the Search keys of a Component (Record) will become Get Keys of CI

Find Keys:- All search Keys and Alt Search Keys

Create Keys: If the underlying Component is in add mode then Create keys will beautomatically created.

3. Methods - There are 5 Standard Methods r there in CI like Find, Get, Save, Canceland Create.

4. Properties and Collections (Fields and Records).

15) Which of the following are TRUE when a Component Interface (CI) is created on componentthat has Add action enabled?

Get keys, Create keys and Find keys gets created automatically. The Create method iscreated along with the other Standard methods for the CI.

16) Which one of the following are standard properties when a Component Interface (CI) iscreated?

Page 5: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 5/16

Interactive Mode, GetHistoryItems, and EditHistoryItems

17) Which of the following can be mapped as Find Keys for a Component Interface?

Search key and alternate search key

People Code

18) What is sequence of events triggered in peoplecode?

SearchInit peoplecode performs before the search dialogue box displays.

Search save peoplecode performs after the operator clicks ok in the search recorddialogue box.

Row Select peoplecode is used to filter out rows of data.

PreBuild is often used to hide and unhide the pages.

Field Default attempts to set defaults for fields without a value.

Field Formula performs, after field default completes successfully.

RowInit is used to initialize the rows.

PostBuild peoplecode performs after all the component build events have performed.

Activate event is fired every time the page is activated.

19) What is the difference between SQLExec and CreateSQL?

There are two basic differences:

1st: If you want to delete, insert, or update a single record, use the SQLExec along with

corresponding PeopleCode record object method.

If you want to delete, insert, or update a series of records, all of the same type, use the

CreateSQL or GetSQL functions, not the Execute SQL class method.

2nd: SQLExec can only Select a single row of data. If your SQL statement (or yourSQL.sqlname statement) retrieves more than one row of data, SQLExec sends only thefirst row to its output variables. Any subsequent rows are discarded. If you need toSELECT multiple rows of data, use the CreateSQL or GetSQL functions and the Fetch SQLclass method.

Page 6: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 6/16

20) Sequence of events fire when you click save button?

SaveEdit

SavePreChange

Workflow

SavePostChange

21) What is Component Processor? 

The Component Processor is the People Tools runtime engine that controls processing of an application from the time that a user requests a component from an application menuuntil the database is updated and processing of the component is complete.

22) What is the difference between SQL Object and SQLExec?

Page 7: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 7/16

SQL Object is a peopletool definition which can be created using app designer as well asusing peoplecode command CREATESQL( ) , it is mainly used for reuseablility of the sqlstatements. so whenever this statement is required no need to hard code, just create ansql object of the same and use where ever it is required.

sqlexec is a peoplesoft delivered function used to retrieve only one row of data at a time.It directly interacts with the database

23) How to send email to the all employers from the peoplesoft application when a certain eventis true?What is the event used to trigger?

Create a workflow. In the workflow, use a query with active employees and their emailids as inputs. On the successful occurrence of the event, trigger this workflow usingTriggerBusinessEvent.

24) Where PeopleCode get stored?Option: 1. Application ServerOption: 2. DatabaseServerOption: 3. Client 

Database server. stored in PSPCMPROG TOOLS TABLE

25) Is there any function exist in peoplecode which stops the processing of whole component? 

Exit(1) function can be used to close any peoplecode execution.

26) How can I comment out a piece of the peoplecode in program?

REM can be used to comment a single line, but it will be processed by the comp.processor;

Single and multiple line commenting:

 /* PeopleCode stmts

------ ------ ------ ----

*/

Nested Comments:

<*

 /* PC Stmts ...... ..... ..... */

 /* ...... Some info on code ...... */

 /* More comments */

*>

Page 8: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 8/16

27) Whats the advantage and disadvantage of Sqlexe in peoplecode? 

By using SQLExec function we can do the manipulation to the database. we can writeinsert,update,delete sql commands.

Drawback while selecting the data using sqlexec, it will return only one at a time.

another drawback, if the name of the records changed, then you have to make thechanges in the code as the query will in the quotes inside sqlexec.

SQL exec takes a trip to the server evertime used unlike the SQL obect which takes atrip to the server only once.

SQLEXEC function has one more disadvantage where it will not pick up relatedlangauge data automatically. You have to explicitly fire two SQLEXEC's one for baselangauage and one for related language by Checking %Language_User.

28) What is the difference between component level peoplecode and record level peoplecode? 

Record level people code will be attached to the record, and anywhere we use the

record , the peoplecode with it will be fired.

Component level peoplecode will be attached to the component and not to the record.So even if we reuse the record we will not have the peoplecode attached to it. Therecord level peoplecode will be fire first then component level peoplecode.one recordlevel peoplecode might be associated with several different Components, so that It ispossible to trigger the same Record PeopleCode from several components while thecomponent level code is associated with a unique component.

Record level peoplecode is generic peoplecode, will be used anywhere in

peoplesoft and component level is component specific peoplecode,this will used onlyfor this component and component level peoplecode will be fired first .

29) Where can u write the peoplecode? 

You can write people code in 7 objects

1) record field level,

2) page level,

3) component level ,

4) component record level ,

5) component record field level,

6) Menu level,

7) Application Engine,

Page 9: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 9/16

8) Application package,

9) Messages

30) Tell me about component Buffer?

Component Buffer is the area in memory that stores data for the currently activecomponent.

Component Buffer consists of rows of buffer fields that hold data for the recordsassociated with the page including primary scrolls, derived work records etc.

When you open any page in a component, the system retrieves all of the data recordsfor the entire component and stores them in one set of record buffers, organized by scrolllevel and then by page level. This component buffer consists of rows of buffer fields that

hold data for the various records that are associated with page controls, including theprimary records; related display records, derived work records, and translate table records

During the search click the zero level rows are populated in the componentbuffer. serachinit 0 level rows are there. when we have page activate rest of thelevels gets populated

31) Tell me few peoplecode functions u worked with?

Get Record

Get Field

Delete Record

Delete Row

32) Explain with an example, where u used peoplecode extensively?

PEopleCode used in AE prog, for Ci, App Messaging, enhancing the fucntionality of theapplications

People Tools

33) what are the important tables in PS-HRMS?

Page 10: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 10/16

There are four groups of tables in PS.

1. Installation table

2. Permission lists tables

3. Control tables

4. Transaction tables

34) How many Grids can we insert in a single component or page?

We can insert as many required grids at a particular level on the page... but we canonly have 4 such levels on the page

35) What is the difference between a Grid and a scroll ?

One of the differences between a grid and scroll is that a Grid can be inserted into ascroll but vice-versa is not possible. In fact a Grid is incapable of housing another grid.

From an end-user perspective, a Grid provides visual access to many rows of data(from the record) at the same time, whereas a scroll will display the details of onerow of data

36) How many types of ways you can run an Application Engine program?

for end-uses: Process Scheduler

for developers: Process Sheduler,

PP Tools>AE,

Dos Command Line,

called by People Code.

37) what is a state record?

State Record is used to pass the values from one actions to another actions. Staterecord is not a temporary record, it can be Sql record or derived work record. Mainlysql record is used for restart of the application engine programme. It should havenaming convention of _AET.

38) Why cant the SQL and call Section Actions be present simultaneously in a single step?

call section and SQL actions are mutually exclusive so they cannot be called at atime.If u use both call section and sql it gives the data base Traffic .Same time bothwill call d/b

39) What are the think-time functions?

Page 11: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 11/16

  The functions which will suspend processing either until the user has taken someaction.use the warning messages which makes the user to respond manually hencemaking him think.

40) What happens if you don't specify a Search Record for a Component?

  If you don't specify a search record then you won't be able to save yourcomponent definition. Search record is always mandatory for the component.

You can specify a dummy search record called - INSTALLATION and the componentcan be saved. There won't be any search option for the page. It will directly take youto the contents on the page

41) Which Table contains Login User Id & Password in Peoplesoft Database?

It Is PSOPRDEFN. The password however is encrypted.

42) Does SAVEEDIT saves first and then apply validations to all fields? OR does it applyvalidations to all fields first and then SAVE?

In SaveEdit event, first all fields are checked for business rules and validations are carriedout on all fields. If any of the values of fields doesn't satisfy any of the business rule,warning or error message get generated depending on the severity. For warningmessages, those get printed in the .log file and data get saved irrespective of the warningmessages. But for error messages data doesn't get saved and processing gets stopped.

43) Difference between Save PreChanges and Save PostChanges w.r.t saveedit?

save edit validates data and gives messages or warnings.when no error/warnings existthen saveprechange fires. it helps by doing one last check before the save process. savepost change updates/inserts data into the records that have not been brought into tocomponent buffer. it is recomended not to give error or warning messages in prechangeand postchange events.

44) How to test an application engine program in 8.8?

One can test Application in two ways:

Running Application engine from 2-Tier

Running Application engine from 3-Tier.

Running Application Engine from 2-Tier: Open Application Designer, Then open desiredApplication engine. Then on top middle tool bar you can see 'Run Programm button' clickon to that button, give vales to parameter like Process Instance, Run Cntrl id etc and click.this will run application engine and genreate a trace file to you local system. Aftercomplition of Application engine you can see if you got desired results or not

Running Application engine from 3-Tier: Firstly Go to peopleTools-> Process Schedular ->Process. Add you Application engine process here.

Page 12: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 12/16

After defining Application engine, Go to peopleTools-> Process Schedular -> SystemProcess Request, then add a RUN CONTROL ID, After adding run control id, click on theRUN button on the page, this will lead you to page where all the process will be listed,Select you process name (Application engine Name) and clik on ok. This will runyou Application engine.

45) How do you retrieve a value from scroll..scroll select?

Local RowSet &rs0;

Local RowSet &rs1;

Local Row &row0;

Local Row &rs2;

Local Record & Rcd 1;

Local Field & fld1;

 /*getting the scroll level 0's first row*/

&rs0 = GetLevel0();&row0 = &rs0.GetRow(1);

 /*getting the scroll level 1's rows*/

&rs1 =&row0.GetRowSet (Scroll. SCROLL NAME)

 /*Accessing individual rows of the scroll*/

FOR &I=1 to &row1.ActiveRowCount

&rs2=&rs1(&I);

&Red1=&rs2. GetRecord(Record.RecName);

fld1=&Red1. GetField(Field.FieldName);

End-For;

46) Differences between State and temporary records?

1. State record at any point of time has only single line information, as it's drivenby the Process_Instance a skey field. While temp table can have multiplerows.

2. State record had only single instance, while the temp table can havemaximum of 99 instance. Basically temp table is used for parallel processing

Page 13: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 13/16

State record is used for restart logic. If you create a sql table as State Recorddata will be stored in the database. If at any point of time, App Engine

programs stops, you can continue from that point on, provided Restart isenabled. This is called the restart logic. With restart enabled, you don't have torun app. engine program all over again. For this to be true, state recordcannot be a derived record. It has to be a sql table.

3. Temp. table is primarily used for set processing. If there are several usersrunning the program at the same time, copies of tables are created inorder toprocess in parallel. Temp. table lives only until the program runs and isdissolved immediately after.

47) What is the difference between SaveEdit and FieldEdit?

Field Edit peoplecode is fired when you try to change the value of a field on thepage and Save Edit peoplecode is fired when you try to save the page. Bothvalidates data but Field Edit peoplecode is used to validate the data for only thatparticular field which is changed and Save Edit peoplecode is used to validate allthe data changes made to the fields on the page.

48) What is component interface, where did you use? 

A component interface is a PeopleSoft PeopleTools definition to enable a peoplesoftcomponent for synchronous access from another application (java,c,c++,xml).

49) Why state records are needed?

State record is used for providing the variables, database fields to different sections of theapplication engine. Scope of the state record is limited to the application engine program.AE can have multiple state records, but can have only one as a default state record.

It can be physical or derived work record. Physical record can be used when you have arestart logic and when you have disables the restart logic derived and work record can be

used.

 The naming convention is, it must end with _AET identifier and process instance should bethe one and the only key for the state record, so that application will identify the record asa state record.

50) How do you register a portal?

Portal registry is a tree-like structure in which content references are organized, classified,and registered. It is stored in a set of tables within a PeopleSoft database madespecifically for hosting portal registries. Portal registries contain folders and contentreferences. Folders are similar to nodes on a tree and can be nested to create a multilevelhierarchy. Folders contain content references, which are URLs that have been registered in

a portal registry.

51) What are the different actions in APP Engine?

Dowhen , dowhile ,doselect ,peoplecode ,sql/call ,sectionlog ,messagedo , until

52) Two Program views of AE Program?

Page 14: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 14/16

PeopleSoft Application Designer enables you to display your program in the following twoviews:

• Definition

• Program Flow

  APPLICATION ENGINE

PeopleSoft Application Engine is a PeopleTool designed to help you develop backgroundSQL processing programs. This tool is intended to be used by developers with knowledgeof SQL, SQL tools and PeopleTools

Sections

Sections comprise one or more steps. All Application Engine programs must contain at leastone section entitled MAIN. A section is a set of ordered steps that gets executed as part of aprogram. You can call sections (and other programs) from steps within other sections. Aprogram must contain at least one section. The execution of the program always starts with

the section defined as MAIN.

Steps

Steps are the smallest unit of work that can be committed within a program. Although you canuse a step to execute a PeopleCode command or log a message, typically you use a step toexecute a SQL statement or to call another section. The SQL or PeopleCode that a step executesare the actions within the step.

Page 15: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 15/16

When a section gets called, its steps execute sequentially. Every program begins by executingthe first step of the required section called MAIN and ends after the last step in the last sectioncompletes successfully

Actions

There are multiple types of actions that you can specify to include within a step. It is common tohave multiple actions associated with a single step.

Do Actions

Do actions contain a SQL Select statement designed to return results on which subsequentactions depend.

The four types of Do actions are:

• Do While

• Do When

• Do Select

• Do Until

SQL

Most SQL actions contain a single SQL statement. These actions can perform the followingtypes of SQL statements

• Update

• Delete

• Insert

• Select

PeopleCode

You can include PeopleCode in the PeopleCode action.

Log Message

You use a Log Message action to write a message to the message log based on a condition in

your program

Call Section

You can also insert an action that calls another section

Page 16: Bi Jan 1

8/6/2019 Bi Jan 1

http://slidepdf.com/reader/full/bi-jan-1 16/16