Sie sind auf Seite 1von 14

1. List 4 of the benefits of using Application Engine programs for your batch jobs.

• Graphical Developer Interface in the Application Designer

• Encapsulation
• Data dictionary integration
• Enhanced SQL/meta-SQL support
• Effective-dating
• Platform flexibility
• Reuse business logic
• Upgrade support
• Built-in restart logic

2. What is the name of the application engine executable and what language is it
written in?

• PSAE.exe
• C++

3. Where are application engine programs stored?

• PeopleSoft database

4. What benefit can be attained by using meta-SQL?

Platform independence

5. What do we mean by "Restart Capability"

The program can be resumed from the last commit done in the program.
Application Engine Designer
1. What are the layers into which an Application Engine programs is structured?

Sections, Steps, Statements

2. What is the function of a Step in an application engine program?

Logical grouping of actions to be performed.

3. How many actions are available? List 5.

8 - Do When, Do Until, Do While, Do Select, PeopleCode, SQL, Call Section, Log


4. What is the maximum number of actions that can be processed in a step?

5. Where does the SQL come from that the Application Engine executes?

You develop the SQL. Application Engine does not currently generate SQL.
State Records and Program Structure
1. What is the function of a state record?

A state record is the method by which you allocate variables for your application
engine program

2. What field is used as the key field on a state record?


3. How many state records can be associated with an application engine program?

Zero, one or many

4. Where do you associate a state record with an application engine program?

Program Properties

5. What type of record is a state record?

Can be a physical record (SQL table) or a derived work record

6. What meta SQL is used to retrieve values from a state record?

Testing and Debugging
1. What do the Application Engine Traces show you?

The Application Engine Trace can show the Steps and SQL issued in the order issued
and completion information. In addition execution timings can be captured.

2. How do you activate the Debug facility? What setup would be appropriate?

You set the Debug check box on, in the Process Scheduler folder tab in the
Configuration Manager.

You want to plan your test so you set breakpoints and know what you should expect
at different points in your execution, both SQL and data values in the State record

3. Why would you use the Restart facility during testing?

To test the restart ability of your application at different points.

Do Select
1. What are the 3 Do Select types?

• Select and Fetch

• Reselect
• Restartable

2. What type would you use if you wanted to make your program restartable?

Either Reselect or Restartable

3. What considerations need to be designed into your program for restartability?

• At lease one state record needs to be a physical table, so the data will be
available in case of an abend.
• Disable restart must be off
• Section should be set to Critical Update
• The WHERE clause in the SQL should contain a condition that will reduce
the answer set or contain a switch that can be set.
Conditional Processing with Do Actions
Match each of the Do Flows with the type of looping that is performed.

1. If logic A. Do Select

2. FOR loop B. Do Until

3. Repeat until logic C. Do When

4. While loop D. Do While

Temporary Tables
1. When would you use temporary tables (with a type of Temporary table) in an
application engine program?

• Parallel Processing

• Increase Performance

2. The total number of instances created for Temporary tables is the sum of what two

• Temporary table instance (Total) as defined in the PeopleTools Options page and the
total number of instances within application engine programs (Program Properties,
Temp Tables tab, instance count) that use that particular temporary table.

3. For the following - how many instances of the temporary table TEMP_TAO will be

• 11

PeopleTools Options Page

Application Engine Execution
1. What are different ways to execute an Application Engine program?

In 2-tier from the Application Designer for testing.

Synchronous page based page Push Buttons.

Windows Command script.

Asynchronous page based Push Button (using the Process Scheduler).

Application Engine Request page.

Scheduled Process Scheduler Jobs.

2. What are the two types of Push Buttons support initiation of Application

Commands (outside Process Schedule, initiated by your PC, synchronous


Process (uses Process Scheduler, automatic initiation, and asynchronous execution.

3. What is the name of the C++ program that executes the Application Engine


4. If you use the Process Scheduler to run your Application Engine programs,
what must be defined to run?

A 'Process Definition' for each AE program.

Application Engine Process Definition
Matching answers

1. Definition that associates an application A. Process Type

engine programs associated with a
component. B

2. Definition that is used to retrieve initial B. Process

bind parameters. C Definition

3. Definition that defines the command line C. Run Control

and additional parameters for a process. E Record

4. Grants access to a user to run a program. D. Run Control Page

5. Where the user specifies the initial bind E. Process Group

variables. D

6. Page that allows you to set additional F. Override Options

parameters such as tracing for an
application engine program. F
1. What is PSDAEMON?

A process that runs continuously on the process scheduler and is intended for
recurrent jobs.

2. What are the steps necessary to set up OSDAEMON?

Create a daemon only application engine program.

Attach the program to a Daemon Group.

Associate the Daemon group with a process Scheduler Server.

3. What is a Daemon Group?

Contains the daemon programs to be run on a specific server.

4. True or False. A Process Scheduler Server can be associated with several

daemon groups?

False – each server can be assigned one daemon group.

Performance Measurement
1. What are the 3 trace parameters you can pass to your psae.exe?

• -TRACE <tracevalue>
• -TOOLSTRACESQL <tracevalue>
• -TOOLSTRACEPC <tracevalue>

2. Which trace option is the best place to start for general performance

-TRACE <tracevalue>

3. What is the difference between a Trace Value and a Trace Parameter?

A Trace Parameter determines which type of trace is turned on.

A Trace Value determines what type of data is recorded in your trace file(s).

4. What are the 3 common ways to pass a trace parameter and value to your
program psae.exe?

Configuration Manager

Process Definition

Command Prompt

5. Why is using all 3 trace parameters with their maximum values for tracing not a
good idea?

Tracing would make the program extremely slow.

You would record trace data that is redundant.

6. For AE job run on the client what determines your trace file name and location?

The Configuration Manager Trace tab, and the PeopleTools Trace field.

7. Where does the –TRACE parameter trace output go to and what is it called?

%temp%\PS\<your database name>\


8. When a Fetch is issued to the database specifically where is the data being
fetched from?

The Database Fetch Buffer

9. What is the best way to access your database server run traces files?

Through Process Monitor and the Trace File hyperlink

Performance Tuning
1. Why is application level tuning is a good place to start?

It is the simplest why to tune and it does affect other aspects of your databases

2. How does the Reuse option improve performance?

It converts %BIND() references to real bind references at the database level saving
the database from having to Compile and create a new Execution Plan each time the
SQL is run.

3. What should you avoid trying to execute in a PeopleCode Action?


4. When should you consider using Bulk Insert Option?

When an Action contains an INSERT clause and your SQL is structured with a
VALUES clause and a field list.

5. What is a Program Level COMMIT?

COMMIT issued by using the After Step Selection at the Section Level, the Commit
After or Frequency Options.

6. True or False. More commits are always better for performance.


7. When is a row of data written to the PSAERUNCONTROLPC table?

When you are check-pointing a portion of the AE program that has a PeopleCode
Action in it.

8. When should a Select and Fetch Type of Do Select not be used?

If you are dynamically changing the criteria in your Do Select Loop inside the loop.

9. When will Indexes likely slow down the performance of an AE program?

When there is a SQL INSERT involved