Professional Documents
Culture Documents
3. What are the advantages with Application Engine over SQR and
Cobol/SQL?
A.E is a PeopelTool Object remaining or 3rd party tools.
Using A.E we can run parallel processing
The main advantage is restart facility.
Meta SQL support is there.
Easy Up gradation: For this PeopleSoft People gave some scripts, by running
these scripts we can upgrade easily. But we can't do this things in COBOL and
SQR, for this we have to do the record change then modify our batch programs
using some other mechanism all while make sure to keep track of what was
changed and how and where it affects the batch program. With Application
Engine and People Tools, it's all taken care of automatically.
People Code & SQL Editors: People Code & SQL Editors are available in the
Application Engine, these are useful to validate the program while writing
program. In SQR we can write the programs on Notepad or WordPad. Here we
won’t validate the program.
Restart Facility: Suppose we are executing an Application Program, after
executing some line due to some problems the program is aborted. After
rectifying the error, now we want to run the program from where the program
was aborted. It is possible to restart the program from one point where we last
executed successfully, and continues with the processing from that point. This
type of built-in logic does not exist in COBOL or SQR.
Reuse Business Logic: In the Application Engine program we can invoke the
people Code using the call Application Engine program. Using this we can call
other Application Engine program.
Once the demon programs are created they need to be defined in a Daemon
Group. The Daemon Group contains all the daemon programs for one server.
Daemon Group is attached to Process Scheduler Server and Daemon is enabled.
9. What are the other Tools, which are useful to execute the background
SQL processing programs?
COBAL / SQL.
SQR Process.
Mass Change
COBAL / SQL and SQR are belongs to 3rd party tools not belongs to PeopleSoft. Mass
change is peopleTools.
10. Why we are not using the Mass Change as background SQL Process for
PeopleSoft Applications?
The problem is there is no program logic. But the advantage is we can generate SQL,
no need to write anything for this.
13. What is the name of the Application Engine executable and what
language is it written in?
PSAE.exe and It is written in standard C++.
And this file resides in c:\<PS_Home>\bin\Client\Winx86\PSAE.exe.
19. How many types of components can include the Application Engine?
Application Engine includes two distinct components: one is the "front-end" used to
define batch program and the other is "back-end” used to run the program what we
developed.
20. What are the changes from 7.5 Version to 8.x Version?
Up to 7.5 the importance of the Application Engine Program is very less.
Designing purpose: In 7.5 Application Engine is useful. In 8.x Application
Designer is useful.
In 8 Application Designer is useful for only designing purpose, for execution
purpose Application Engine is useful. But in 8.4 both are possible in Application
Designer only.
Programming: There is no such type of programming languages in 7.5.
PeopleCode is the programming language for writing the programs in 8.x.
Cache Records: (Cache records are useful for Memory purpose). 7.5 support
only one cache record. 8.x supports more than one cache record.
Temporary Tables: These are useful for increasing the performance of the
program by storing the intermediate results during a program run. No such type
of tables in 7.5. Available in 8.x
Messages: No multi language support in 7.5, Available in 8.x.
22. What should we get when we open a new Application Engine program?
We can get only one section that is MAIN and Step01 (with no actions yet).
Market: Select the Market for which the section is intended. If a particular Market is
irrelevant to your batch program, keep the default Market value of Global (GBL).
Platform: In some cases, we may develop an application for some other RDBMS.
For this we can specify the Platform name here only.
Effective Date: We can make a particular section effective-dated and we can enter
the effective date. The default effective date is 01/01/1900.
Effective Status: Specify whether a section is active or not. Active refers to being
enabled at runtime. Inactive Sections are bypassed at runtime.
Section Type: In the case of an abnormal termination of the program, the value of
this system field specifies whether you must restart the section.
Auto Commit: You can opt to have no commit or you can have Application Engine
commit after the step successfully completes.
Access: We can specify that a section can or can’t be called from another program.
If select this check box means we can’t call this from other section. Otherwise we
can call this form other section.
32. At a time how many actions allows the Application Engine program?
7 actions.
50. What is difference between call section action and dynamic call check
box?
Call Section is used to call one section from another section. The "called" Section can
be in the same program as the calling Section, or it can be in an external program. If
a Section already exists in one program, rather than copying it into another program,
just call it.
Use the AE_APPLID and AE_SECTION fields in the state record to execute different
sections depending on the conditions a program encounters during runtime.
These two fields must be defined on the default state record for the program. If
AE_APPLID is not present or is blank (at run time), the current program is
substituted for the AE_APPLID value. If AE_SECTION is not present or is blank, an
error occurs.
When issuing a dynamic call, both the section and the Program ID must be
dynamically set. You enable a dynamic call by first having your program store
different section names in the AE_SECTION field, and different program names in
AE_APPLID field. The values you insert in these fields are normally based on various
conditions met within your program. You then create a Call Section action that calls
the section name defined in the State record field by selecting the Dynamic check
box.
Selecting dynamic automatically populates the AE_SECTION field with the symbolic
value %Section, and the Program ID field with the symbolic value %AEAPPLID. At
runtime, the program calls the section name stored in AE_SECTION that belongs to
the program name defined by AE_APPLID.
51. How can we expand all the nodes in the Application Engine program?
By using the + icon or by selecting View, Expand All or (Ctrl+Shift+X) or expand all
nodes toolbar button available in the standard toolbar.
52. How can we hide all the nodes in the Application Engine program?
Select View, Collapse All and View, Hide All Details. Or (Ctrl+Shift+C)
54. How many levels of actions support the Application Engine program?
Application Engine supports up to 99 levels of nested Call Section Actions.
For example, the first called Section can call a second, which can call a third, and so
on, up to 99 calls.
State Record
55. Can we have more than one state record in single A.E?
Yes we can have more than one state record in A.E but one should be the default
state record.
57. How will u pass variable from one A.E. to another A.E. program?
Through state record.
60. How many state records can be associated with an Application Engine
program?
An Application Engine program may have zero, one, or many state records. Only one
state
record will be the default.
62. Who creates the State Record in the Application Engine program?
The State Record must be created and maintained by the Application Engine
developer.
63. What type of record is a state record?
Can be a Physical record (SQL table) or a derived work record. If it is Physical table
we
Should build before using this.
67. Why we are using the PROCESS_INSTANCE as a key field in the state
record?
For restart facility.
68. What Meta SQL is used to retrieve values form a state record?
%BIND.
69. What Meta SQL is used to store values into a state record?
%SELECT.
72. How can we access the properties of the Application Engine Programs?
If we want to view and modify the properties of an Application Engine program open
it in the Application Designer, select File > Object Properties while the program is
open and press the Properties button. We can also press ALT+ENTER. Then it
displays the Program Properties Dialog Box, and it consists of 4 controls.
General
State Records
Temp Tables
Advanced
General:
Description: Used to enter a descriptive name. In this edit box we can enter
up to 30-character only.
Comments: Used to enter the comments about the program. Or add any
other useful comments that development or administrative staff may need to
see.
Owner ID: Used to enter the Owner ID for the program. Owner ID is a way
to identify which objects are owned by which PeopleSoft products, such as
General Ledger, Accounts Receivables, and so on. The values in the dropdown
list are Translate table values associated with the OBJECTOWNERID field. This
field is entirely optional.
State Records:
Qualify Search: By default, the Record List box will contain all record names
that end with the extension AET. We can also specify the state record name.
Get List: Press this button, to populate the Record List box.
Record List: This text box contains the results of the State Record search.
Selected: This group box is where we select State Records for use with a
particular program. Use the Add button to include selected records that
appear in the Record List. Use the Remove button to exclude selected records
that appear in the selected list box. Indicate which State Record will act as
the default State Record by selecting its checkbox. For the default State
Record, we only need to reference fieldnames in the PeopleCode and SQL (for
the active program). When we reference a non-default State Record, we do so
by using recname.fieldname.
Temporary Tables:
Qualify Search: This edit box is useful to enter any wild card characters or
complete table names to limit the results that will appear in the Record List.
By default, the Record List box only will contain records that are of type
"Temporary Table". This is an attribute applied at the time you create the
Record in Application Designer.
Get List: Press this button, to populate the Record List box.
Record List: This text box contains the results of the Temp Table search.
Selected: This group box is where you select temporary tables for use with a
particular program. Use the Add button to include selected records that
appear in the Record list. Use the Remove button to exclude selected records
that appear in the selected list box.
Instance Count: The Instance Count value controls the number of physical
tables to be created for each dedicated table for this program during the SQL
Build procedure in Application Designer. Typically, you would set this number
to equal the number of parallel program runs that you anticipate. For instance
if you expect up to five instances of the same program to run simultaneously,
then you would set the Instance Count to 5.
Insert Selected List into Project: If the active Application Engine program
definition belongs to a Project, then you can opt to include the dedicated
temporary tables for this program within the same project.
Runtime: When you are implementing dedicated temporary tables, you must
consider how your program should behave in the event the number of active
processes exceeds the number of dedicated temporary table instances. Do
you want the program to abort, or do you want it to use the base table
(PS_recname with no suffix), which is a non-dedicated table. The Runtime
options enable you to control how an Application Engine program behaves in
the event that an instance of its specified dedicated temporary tables are not
available. If you select Continue, then Application Engine uses the base
version, or undedicated version, of the temporary tables. If you select Abort,
then the program exits with a meaningful error message.
Advanced:
Upgrade Only: This option is for programs intended to be used for upgrade
purposes only. PeopleSoft delivers some Application Engine programs for
upgrade-only uses. Unless you are responsible for the upgrade procedure at
your site, you won't need to deal with these programs. These programs are
documented specifically within the Upgrade documentation accompanying
your shipment. Message Set. Specify the message set value that you want
assigned as the default message set number for this Application Engine
program. The system uses this Message Set value for all Log Message Actions
where the message set isn't specified.
Execution Of A.E Program
Uses the Online Temporary Table pool. Uses the Batch/Dedicated Temporary
Table pool.
This is the most typical mode of execution. You invoke programs that run in this
mode using PeopleSoft Process Scheduler or the Application Engine Process Request
Page. Batch mode is also referred to as asynchronous execution meaning that it runs
independently in the background. PeopleSoft Application Engine runs on any
operating system that PeopleSoft supports as an application server.
To run Application Engine programs on the batch server, you must install Tuxedo.
This applies to both UNIX and Windows NT batch servers. If you run your batch
server on the same server machine as your application server, then the application
server and the batch server can share one Tuxedo install. If your batch server is
separate from your application server, then you must install the Tuxedo CD-ROM to
your batch server.
2. Through PeopleCode
To run through peoplecode we should create a push button on a page. When we click
the push button, Filed change PeopleCode is triggered and associated PeopleCode
will be executed.
Create new record (ID, Name, and Salary), then save (EMP_TBL) and build.
Write PeopleCode (Salary field and Field Change Event)
CALLAPPENGINE (“EMP_AE);
Create new page, insert record fields (ID, Name, and Salary). And insert a push
button. Then double click on the push button and specify the record name and field
name. Then click on label tab and select any image ID. Click OK.
Create component and menu.
Create new Application Engine program. Insert SQL Action.
INSERT INTO EMP_TBL (ID, NAME, SALARY) VALUES (‘100’, ‘NUTAN’, 30000);
Save the program with EMP_AE.
Open the component click the Push Button. Then observe the results.
75. What is the function used to call A.E program through people code?
CallAppEngine function
86. How can you debug A.E program form command line argument and
other?
PSAE.EXE —CT <DB_TYPE> -CD <DB_NAME> -CO <OPRID> -CP <PASSWORD> -R
<RUN_CONTROL> -AI <PROGRAM_NAME> -I <PROCESS_INSTANCE>
87. How do you debug an A.E program?
You can set the Debug option in the following locations:
Start PeopleSoft Configuration Manager and select the Process Scheduler tab. In the
Application Engine group, enable Debug by selecting the Debug check box. This is
the method that applies to all methods of invocation.
If you used the command line option to invoke your Application Engine program,
then you can just include the —DEBUG Y parameter in the command line you submit
to PSAE.EXE. If you already have the Debug check box selected in PeopleSoft
Configuration Manager, then you do not need to include the —DEBUG parameter in
your command line.
If you have PeopleCode in your Application Engine program, you should also enable
the PeopleCode Debugger. When you launch your program and the PeopleCode
Action executes, you will enter the PeopleCode Debugger at that point.
88. How do you enable the PeopleCode Debugger for Application Engine?
Sign on to PeopleTools using the same User ID that you are going to use to invoke
the Application Engine program.
Open PeopleSoft Application Designer.
Select Debug, PeopleCode Debugger Mode.
Your Application Engine program can be open on the desktop, but you do not need to
open the Application Engine program or the PeopleCode action that you want to
debug.
Select Debug, Break at Start.
This causes the Application Engine program to break prior to executing any
PeopleCode programs within it.
90. Difference between online and batch job temparary table instances?
96. What you need to do for making restart facility in A.E program?
At least one state record needs to be physical record as the data will be available in case of abend.
We have to select the restart check box in A.E program properties.
In configuration manager select the process scheduler tab and uncheck the disable
restart.
where field1>%bind(field1)
order by field1
Add a switch to the selected table
Select column1, column2
From ps_table1
Where processing_switch = ‘N’
Delete processed rows.
The following example opens a numbered file for writing in ANSI format,
without overwriting any existing files:
&MYFILE.Open("C:\temp\item*.txt", "N",
%FilePath_Absolute);
If &MYFILE.IsOpen Then
&MYFILE.WriteLine("Some text.");
&MYFILE.Close();
End-If;
106.How can we call a section dynamically in app engine?
Use the AE_APPLID and AE_SECTION fields in the state record to execute different
sections depending on the conditions a program encounters during runtime.
These two fields must be defined on the default state record for the program. If
AE_APPLID is not present or is blank (at run time), the current program is
substituted for the AE_APPLID value. If AE_SECTION is not present or is blank, an
error occurs.
When issuing a dynamic call, both the section and the Program ID must be
dynamically set. You enable a dynamic call by first having your program store
different section names in the AE_SECTION field, and different program names in
AE_APPLID field. The values you insert in these fields are normally based on various
conditions met within your program. You then create a Call Section action that calls
the section name defined in the State record field by selecting the Dynamic check
box.
Selecting dynamic automatically populates the AE_SECTION field with the symbolic
value %Section, and the Program ID field with the symbolic value %AEAPPLID. At
runtime, the program calls the section name stored in AE_SECTION that belongs to
the program name defined by AE_APPLID.