Application Engine: D. Sree Lakshmi Envytee Infosoutions

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 37

Application Engine

D. Sree lakshmi
EnvyTee InfoSoutions
• Introduction to Application Engine.

• Structure & Flow of an Application Engine Program.

• Executing Application Engine Programs

• Difference b/n AE and SQR


• Application Engine is used for BATCH or ONLINE processing
where you have a large (or small) amount of data that needs to be
processed without user intervention.

Technical Definition:

• An AE program is a set of SQL statements, PeopleCode, and Program


Control Actions defined in Application Designer that performs a
business process.
• Application Engine programs reside completely within your database.

• No Compilation required.

• Database Flexibility.

• Does not generate SQL or PeopleCode.

• Built in Re-Start Logic.

• Mostly used for SET based processing.

• PeopleCode can be written.

• AE program can be called from People Code.


• Program

• Sections

• Steps

o Actions
• Section Name (e.g. MAIN, etc) and Description

• Market
• Platform
• Effective Date and Status

• Auto Commit and AccessType


• Section Name (e.g. MAIN, etc) and Description

• Market

• Platform

• Effective Date

• Effective Status : Active & Inactive

• Auto Commit

• Access Type
• A Step represents the smallest unit of work that can be committed in a program.

• When you first create a program, you have a default MAIN Section and Step,
initially named Step01.

• All programs require at least one Section, all Sections should contain at least one
Step, and all Steps should contain at least oneAction.
Commit After
• Default
• Later
• After Step

On Error
 Abort
 Ignore
 Suppress

Frequency
• Contains all the code of Application Engine Program.

• There are eight types of Actions that you can include within a Step, and aStep
can contain multipleActions.

• You can only include one of each Action type within a single Step.

• The only mutually exclusive Actions within a single Step are Call Sectionand
SQL Statement.
Program Flow Actions

Program Flow Actions are used to control the execution of your program. With
these Action types you can control the execution of subsequent Sections, Action(s),
or SQL statements depending on the results of a "Do" SQL statement in the form of
a SELECT.

Below are the four types of Program Flow Actions


• Do When
• Do While
• Do Select
• Do Until
• The DO When Action is a SELECT statement that allows subsequentactions
to be executed if any rows of data are returned.

• This Action is similar to a COBOL "IF" statement.

• A DO When statement runs before any other actions in the Step.

• If the DO When statement returns any rows, the next Action will be executed.
If the Do When conditions are not met, the remaining Actions within that Step
are not executed.

• Your program executes a DO When Action only once when the owningStep
executes.

www.itwisesolutions.com
• The DO Select Action is a SELECT statement that executes subsequentActions
once for every row of data that the Do Select returns.

• DO Select can execute a SQL statement for each row returned from the
SELECT statement. The subsequent Actions within the Step are executed ina
loop based on the results of the SELECT statement.
2. Do Select Type :
• Select/Fetch Performs a Fetch for each iteration of the loop to get each row from
the SELECT.

• Re-Select It opens a cursor and fetches the first row.

• Restartable It performs a Fetch on each iteration of the loop to get each row
from the SELECT. It can be Restarted.
Use a Do Until if you want the "processing actions" to execute at least once, and to
execute over and over until a certain condition is true, such as until a SELECT
returns some rows.
PeopleCode Actions allow you to take advantage of IF-THEN logic, messaging, File
Layouts, Component Interface and various other features all from within yourApplication
Engine programs.

Configurable Properties
On Return :
If your PeopleCode program provides a false result, you can haveApplication Engine
respond by doing one of the following:
• Abort The program issues an error and exits immediately.

• Break The program exits the current Step and Section, and control returns to the
calling Step.

• Skip Step The program exits the current Step, and continues processing at the next
Step in the Section.
Use this Action if you want to perform the following SQL commands on multiple rows:
• UPDATE
• INSERT
• DELETE
• SELECT
Configurable Properties

2. No Rows
In the event that the SQL (INSERT, UPDATE, and DELETE) associated with the SQL
Action does not return any rows, you need to specify what your Application Engine
program should do.

• Abort The program terminates.

• Section Break Application Engine exits the current Section immediately, andcontrol
returns to the calling Step.

• Continue The program continues processing.

• Skip Step Application Engine exits the current Step immediately and moves on tothe
next Step.
• Use the Call Section Action to Call Another Section defined in an Application
Engine program.

• You can call a (local) Section defined within your current program, otherwise
Section MAIN would be the only Section executed.

• Also you can make external calls to a Section defined in anotherApplication


Engine program.

• The external Section you intend to call must have its Access property set toPublic.

• If a Section's Access property is set to Private, that Section can only be calledfrom
within the same program.

• Call Section is the only supported way to call


Sections from other Application Engine programs orSections.
• Use this type of Action to write a message to the MessageLog.
• The Message Log refers to the PeopleTools table PS_MESSAGE_LOG where
execution messages reside.

Configurable Properties

• Message Set Identifies a message set within the Message Catalog.

• Number Identifies a particular message within a Message Set.

• ParametersA list of comma-delimited values to substitute for %1, %2, and so


on markers in the message text.
• The Application Engine State Record is the method by which you allocatevariables
for your Application Engine program.

• It is also the method by which Section, Steps, and Actions pass valuesto
subsequent program steps.

• You can think of State Records in Application Engine as global variableswithout


scope limiting rules.

• Only one record can be the default State Record

• Record Types as SQL and Derived/Work Records

• Process Instance is the only key Field and is used for maintaining session

• Notice the _AET naming convention


• PeopleSoft batch applications employ the technique of SET processing, and set
processing (in most cases) involves extensive use of temporary tables.

• Temp Tables are used to store transient or intermediate results

• Improve performance
• Any Program
• Making batch temp tables
parallel processing aware
o Instance count is the
number of concurrent
instances
o Batch Temp tables = Sum
of the instance count for
each program a table is
used
o Naming convention
PS_NAME_TMPnn
• Set processing is a SQL technique used to process groups, or sets, of rowsat
one time rather than processing each row individually
• Application Engine has the built-in ability to save a program state and restart
where it stopped processing in the case of an abend.
• To invoke or run an Application Engine program:

• Process Scheduler

• People Code

• Command Line
• CallAppEngine

• To call a particular Application Engine program synchronously


from a page using PeopleCode, you need to use the CallAppEngine()
function in your SavePreChange or SavePostChange PeopleCode.

•The basic syntax for CallAppEngine() is as follows:


CallAppEngine(applid [, statereclist ]);
Application Push Button
AE Run Engine
Process Process

Process Scheduler Command


Peoplecode Call
PSAE.exe Logon
Retrieve
Execute
AE Program
AE Constructs Definitions PS
Peoplecode Database
Program Files Issue AE program

SQL
• Restart Facility

• Inbuilt Tool

• Graphical User Interface

You might also like