Translate

Thursday, 11 July 2013

peoplesoft app. engine interview questions



1. what  is  application engine ?
A. It is a people tool designed to develop background SQL processing program. Application Engine does not generate, parse, or understand SQL, it does execute SQL that you provide This tool is intended to be used by developers with knowledge of SQL, SQL tools, and People Code.

2. What is application library?
A. Application library is a program that contains collection of callable sections.  We can’t define
application library with standalone program.

3) What are the Different types of Application Engine?
Standard: Standard entry-point program.
Upgrade Only: Used by PeopleSoft Upgrade utilities only.
Import Only: Used by PeopleSoft Import utilities only
Daemon Only: Use for daemon type programs.
Transform Only: Support for XSLT Transform programs.


4.What is the difference between the %select and %select init meta sql functions?
 A. %select        : If any values have not selected then previous values will be there
     %selectinit   : If any value have not selected then previous value reinitiate to null.

5.What are the different types of  temporary tables in application engine program?
A. Dedicated
     Un Dedicated


6) what are the different types of variables in the Application Engine people code?
Local variable – These are available for the duration of the program in which they are declared.
Global / Component – These variables are available while the Application Engine program is running. They are saved at commits and checkpoints,So they can be used for restarts. Component variables are same as Global incase of the AE.

7) What are the Different ways pass data between the steps?
1) State records – One row can be passed and can have many state records.
2) Component/Global People code variables
3) Temporary records – Multiple rows of data can be passed.

8) What is Prerequisite for the State record?
1) Should be either Derived work record Or SQL Table.
2) Name of the record must end in AET; this is how the system identifies the record as a state record.
3) PROCESS_INSTANCE must be a key.
4) Any data types except character or numeric must not be required fields.
Note: - No People code fires on an Application Engine state record.
No Validation of translate values or Prompt tables are done.

9) How to read the runctrl parameters in AE
1) SQL: - %Select (EMPLID) Select EMPLID from PS_AERUNCONTROL where PROCESS_INSTANCE = %PROCESS_INSTANCE and ORPID = %oprid
2) People code: - &SQL = “Select EMPLID from PS_AERUNCONTROL Where PROCESS_INSTACNE =” PS_TEST_AET.PROCESS_INSTANCE “and OPRID =” %oprid.
%PROCESS_INSTANCE or %Bind (PROCESS_INSTANCE) can be used.
%PROCESS_INSTANCE is more efficient and faster.

10) How do you execute Application Engine through Push Button?
1) CreateProcessRequest () , Schedule ()
2) CallAppEngine.

11) What is the syntax for CallAppEngine?
CallAppEngine (applid [, state record]);

12) What are the 3 trace parameters you can pass to your psae.exe?
- TRACE 

- TOOLSTRACESQL 
- TOOLSTRACEPC 
13) Which Trace option is the best place to start for general performance information?
- TRACE 384 – mostly used trace value.

14) What is the difference between a Trace value and Trace parameters?
A Trace parameter determines which type of trace is turned on.
A Trace parameter determines what type of data is recorded in your trace files (s).

15) What are the 3 common ways to pass a trace parameter and value to your program psae.exe?
Configuration manager, Process Definition, Command prompt.

16) How do you program AE program for the restarts?

Program Properties
On the Advanced tab in the program properties dialog box, make sure that disable restart is not checked.
Configuration manager
In the configuration manager, sure that Disable restart is not selected on the process scheduler tab.
Section Level
Section type
The option for section type are prepare only and critical updates
If the section is preparing data i,e select data, Populating temporary tables, or updating temporary tables then the section should be prepare only.
If the section is updating the permanent application tables in the database, you should select critical update.
Step Level
Add an order by clause
%Select Field Select Field1 from PS_SOME_RECORD Where FIELD1 > %Bind (FIELD1) Order by FIELD1.


17) What is Set Processing? 
Set Processing uses SQL to process groups or sets of rows at one time rather than processing each row individually. With row by row processing you following a repetitive loop that selects a row, determines if it meets a given criteria, if so, apply rule x to row Update row, commit. With set processing, you only select those rows that meet the filtering criteria and then run the rule once again all the affected rows.



18) Advantages of Set Processing?
Improved Performance: - Our internal testing has revealed that, in an overwhelming majority of cases, set processing performs significantly better than it is -by-row counterpart for “reasonable” batch processing volumes.

Minimized SQL Overhead: - It tends to use fewer Application Engine SQL statements that each processed more data than the statements executed in row-by-row processing.
Easy Maintenance: - if need to make a fix or add an enhancement to SQL, it’s just a matter of modifying the SQL or inserting the new “Chunk”.
Leveraging the RDBMS: - With Set – based processing, you take advantage of the SQL processing engine on the database rather than placing the processing burden and overhead on the application executable.


19) Why call section and sql are mutually exclusive?
A. Both CallSection and SQL are used to perform DML operations so we will use either SQL are CallSection.

20) What is the use of temporary records and state record in application engine ?

A.

Temp Tables:
used to store the immediate values during the processing of the AE.
Help in batch processing by creating multiple instances and there by facilitating parallel processing.
If used properly they can greatly improve the performance.
State Records:
 used to pass on values from one section/step/program  to the other.
These can be a max of 200 state records  that can be used in a single AE but only one of them can be default.  state record name must end with _AET.

 

21)How can you integrate workflow  with A.E?

 A. A.E programs triggers business events indirectly, by passing their queries to CI. If the component has associated with workflow ,A business process is  trigger when the CI saves the  page.

22)what are the peoplecode events used for CallAppEngine function.
A.  Save PreChange ,SavePostChange, WorkFlow , FieldChange.

23)What is the Order of Action Events?
 Do When ,do while , Do select  ,People Code  , SQL/Call Section,MessageLog,Do Until.



24)What are the prerequisites for Temporary Record ?
A. Process instance as  a key and  name should end with _TAO

25) What are different types Do Select ?
             select/Fetch
              Reselect
              Restartable


26)What is the difference between the exit(0),exit(1) when we are using this function in AE?

Exit(1) causes immediate termination of  a peoplecode program .use this parameter to rollback database changes.
Exit(0) causes immediate termination of a peoplecode program but don’t make rollback in the database.

27) What is the difference b/w %select, %bind?
   %select—used for inserting
   %Bind----- used for retrieving.

2 comments:

  1. Thanks for providing these peoplesoft app engine interview questions.Really very helpfull.

    ReplyDelete
  2. mypeoplesoft is peoplesoft international consultants is a world leading group of consultants connecting businesses with experienced and most deserving PeopleSoft developers.

    ReplyDelete