Pages

Application Engine

Application Engine Programs are the Batch program which are developed in Application Designer. This can be developed using PeopleCode and SQL. Application Engine programs can be used in Data Loading, Component Interfaces, Application Classes, Report Generation, Calling SQR and COBOL.

Reuse Business Logic - Application Engine programs can now invoke PeopleCode. This means that from Application Engine you can call common PeopleCode functions that you use throughout your PeopleSoft system. Conversely, PeopleCode can now invoke an Application Engine program.


Built-In Restart Logic - Within each Application Engine program, you must define how 
frequently your program will issue a COMMIT. After doing so, each COMMIT becomes a 
"checkpoint" that Application Engine uses to locate where within a program to restart after 
an abend.
This type of built-in logic does not exist in COBOL or SQR. You need to code any restart 
logic for your programs yourself.  

Meta-SQL Support - Application Engine supports PeopleSoft meta-SQL. This language is designed to replace RDBMS-specific SQL syntax with a standard syntax, called meta-strings.

AE Structure

Application Engine Programs are Hierarchy based which consists of Sections, Steps and Actions. Each Section will have Steps and each Step will have Actions. 

Program Flow of Actions - A Program Flow Action contains a SQL SELECT statement designed to return results on which subsequent Actions depend.


There are the four types of Program Flow Actions:

1. DoWhen
2. DoWhile
3. DoUntil
4. DoSelect


SQL Action - Contains a single SQL statement that performs either a SELECT, INSERT,  
UPDATE or DELETE.
PeopleCode Action - This action is where we can write all the Peoplecode required. This 
action provides access to the PeopleSoft Internet Architecture's integration technologies 
such as Application Messaging, Business Interlinks, Component Interfaces, and XML File 
Processing.
Call Section - This is an Action that calls another Section. The "called" Section can be in 
the same program as the calling Section, or it can be in an external program.
Log Message - A Log Message Action can be used to write a message to the 
MESSAGE_LOG based on a particular condition in your program. Could help in debugging 
or in providing multi-language capability.

Rules

1. The actions SQL and Call Section cannot be part of the same Step.
2. Cannot have the same Action type twice in a single step.
3. Due to the above reasons, the maximum number of actions within a step can be 7 
    with the following execution sequence

Type of Application Engine


There several different types of application engine programs:
  • Standard, which is for normal program.
  • Upgrade Only, which is used in PeopleSoft upgrade utilities.
  • Import Only, which is used by PeopleSoft import utilities.
  • Daemon Only, a type of program used as a daemon process.
  • Transform Only, a program type used to support Extensible Stylesheet Language Transformations (XSLT).
Each Application Engine will have State Record and Temporary Table included under the Properties which are important for every program.

State Record

A state record is a PeopleSoft record object that contains one or more fields used by the program to pass values between steps and actions. This State Record can be a Work Record or a SQL table which is based on the requirement of your program. If you want your program to be a restartable program then you should select SQL table as the record type and must be keyed by process instance.

  • Must be saved with _AET
  • Should be keyed by Process_Instance
  • Either be a Work Record or SQL table based on the program logic 
  • To refer a variable, use %BIND meta SQL
Temporary Tables

These are also PeopleSoft Record objects which are used to stored the data temporarily.  These tables are used to improve the performance by processing sets of data during a process run.

  • Must be saved with _TMP or _TAO
  • Multiple instances can be derived for a table
  • Mostly used in Row by row processing. 


Restartable AE

By default, Application Engine doesn't perform a COMMIT until an entire program successfully completes. It's up to program developers to set any individual Commits where appropriate.

  • At the Section level, you can choose to Commit after each Step in that Section.
  • At the Step level, you can require or defer COMMITs for individual Steps, or you can increase the COMMIT frequency within a Step to n iterations of a looping action within a Step, such as a Do Select or Do While.
  • PS_AERUNCONTROL - record where last commit point stored. Keyed by PROCESS_INSTANCE

Trace Parameters

Application Engine Trace
TRACEAE = 255. Traces every SQL in the App Engine and shows the buffer values.
TRACEAE = 128. Only shows the timing codes for each statement. Useful for checking performance.
Peoplecode Trace
          TRACEPC = 108. This option is useful when setting trace for all Peoplecode in the Application Engine.
Using Process Scheduler

          Append in Parameter List -TRACE 255 -TOOLSTRACEPC 108


    No comments:

    Post a Comment