App Engine
App Engine
1.There are 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.
2.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.
3.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 required not be fields.
Note: - No People code fires on an Application Engine state record.
No Validation of translate values or Prompt tables are done.
4.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
5.How do you execute application engine through push button?
1) CreateProcessRequest () , Schedule ()
2) CallAppEngine.
6.What is the syntax for CallAppEngine?
CallAppEngine (applid [, state record]);
7.What are the 3 trace parameters you can pass to your psae.exe?
- TRACE
- TOOLSTRACESQL
- TOOLSTRACEPC
8.Which Trace option is the best place to start for general performance information?
- TRACE 384 mostly used trace value.
9.What is the difference between a Trace value and Trace parameters?
A Trace parameter determines which type of trace is turned on.
A Trace value determines what type of data is recorded in your trace files (s).
Where does the trace file is written to?
The trace file is written to the server directory when youve specified the trace on the client.
If the client has %Temp% set to a drive or directory that does not exist on the server,
PeopleSoft Application Engine does not generate a trace file.
For an Application Engine program running on a server, PeopleTools writes the generic
PeopleTools trace for SQL and PeopleCode trace files to the same directories as the AET
traces. The prefix of the trace file name is also the same, and the suffix is trace. On the
Windows workstation, the trace is written to the People Tools Trace File specified in the
Trace folder of PeopleSoft Configuration Manager.
What are the 3 common ways to pass a trace parameter and value to your program psae.exe?
Configuration manager, Process Definition, Command prompt.
10.What are the Different types of Application Engine?
Standard: Which is a Standard or normal 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 Extensible Stylesheet Language Transformations (XSLT).
XSLT Transform programs.
11.How is PSDAEMON process runed?
One PSDAEMON process can run for each row in the PS_SERVERDEFN table. The
PS_SERVERDEFN.DAEMONENABLED field must be set to 1.
12.Does system automatically modifies all static references in other programs to the
renamed program?
The system automatically modifies all static references in other programs to the renamed
program. For instance, if you call the renamed program from another Application Engine
program, the Call Section action in the calling program is modified to reflect the new
program name. All sections and steps are saved under the new name. Only one occurrence of
a program name can exist for a given database.
13.What is the function that can have PeopleSoft Application Engine recompile a reused
statement?
Using the %Clear Cursor function.
14.What happens if the renamed program is called in a dynamic Do action?
The reference is not automatically modified. You should also manually check and modify any
Use the meta-SQL construct %EXECUTE. The previous sample SQL statement sample
contains bind variables from a previous Application Engine action.
Entries in the AEREQUESTTBL table do not have any effect on Application Engine
programs called from PeopleCode using the CallAppEngine function.
19.What are the Tables Used in the Process Request Page?
The Application Engine process request page inserts values into the following tables:
AEREQUESTTBL.
Contains all of the values that appear on the page except those in the Parameters group.
AEREQUESTPARM.
Includes only initial state record values specified in the Parameters group, if needed.
20.How do you invoke an Application Engine program through the command line?
Restarting.
When a program abends, a system administrator might restart the program using the
command line. If needed, you can locate all of the specific program and process information
from Process Monitor on the Process Request Detail dialog box. Normally, users (or system
administrators) perform a restart from Process Monitor.
Development or Testing.
Many developers include the command line in a batch file to launch a program they are
developing or testing. This way, they can quickly execute the batch file as needed. This also
enables separation of development of the application program from its associated pages.
Debugging.
To debug a program running on the server, you can sign into the server (using telnet, for
example) and invoke the program from the command line.
21.What are the Bulk Inserts ignored?
Bulk Insert is also ignored when all three of the following conditions are true: the database
platform is Oracle, the record contains and EFFDT field (effective date), and the record
contains a mobile trigger. This is required because an Oracle database does not allow the
reading of mutating tables in a row trigger.
22.What is another way to populate PS_MESSAGE_LOG instead of Log Message
action?
You can also use MessageBox PeopleCode to populate PS_MESSAGE_LOG instead of
using the Log Message action. This enables you to easily record errors encountered within
Application Engine PeopleCode programs.
23.What happens is if an Application Engine program is not set up for restartability?
When an Application Engine program is not set up for restartability, then commits are not
controlled, monitored, or restricted by PeopleSoft Application Engine. When Restart is
disabled, commits are controlled by the program.
PeopleSoft Application Engine does not commit a step containing a Do Select action with the
Select/Fetch option enabled until the entire step completes successfully, regardless of the
other options you have selected.
24.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.
25.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, its 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.
26.What is Prerequisite for the Temporary record?
1) Should have process Instance as key
2) Name should end with _TAO
27.What is the difference between Temp Table instances (Online) and Temp Table
Instances (Total)?
28.Different types of Temporary tables?
- Dedicated
- Un Dedicated (Shared)
29.Testing and debugging application engine?
Application Engine Trace file-You can track the step execution of your application execution.
Application Engine Interactive Debugger First click on the trace tab and turn off the
statement timings. Select Profile -> Edit Profile-> Process Scheduler Tab -> Application
section Select Debug check box.
(You can dynamically modify the state record run application engine step by step
People Code Debugger for the Application Engine.)
AE Trace files: - AE__.AET
Without the process instance: - AE__.AET
30.Order and flow of action types?
1) Do When
2) Do While
3) Do Select
4) Peoplecode
5) SQL
6) Call Section
7) Message Log
8) XSLT
9) Do until
31.Why Parallel Processing required?
Potential performance improvements by splitting the data to be processed into groups and
simultaneously running multiple instance of your program to deal with different groups of
data.
If you have a one program that uses a temporary table and is invoked multiple times, that
single temporary table could be used concurrently in multiple executions of the code. This
could create unpredictable results since the different instances of the code would be issuing
delete, Inserts and/or updates unsynchronized with each other.
You could solve the problem by creating multiple temporary tables as a pool of tables. Each
invocation of your program would have to allocate an unused temporary table,
mark it as in use , use it and release it back to the pool when you through with it (for each
Application Engine program you write).
32.How running AE program as Batch differs from running it online?
Application Engine programs are designed for two types of execution and each has its own
pool of Temporary Tables
Online:
Invoked by CallAppEngine from People code
Run quickly, synchronously, and at random times.
Potential for simultaneous executions
Uses the online Temporary Table pool.
Not restart able.
Psae.exe randomly assigns an instance number from the number range on your online temp
tables.
If the instance number is in use psae.exe puts the program in Queue until the assigned instance
becomes free.
Unlock on completion, on Crash free from Manage Abends.
Batch:
Invoked through the Process Scheduler.
Run for longer amounts of time, asynchronously, and at scheduled times.
Can be designed for parallel execution for performance.
Uses the Batch/Dedicated Temporary table.
Restart able, If not Re-startable on Program completion.
It allocates instance number based on the availability on a record by record basis and psae.exe
begins with the lowest instance numbers.If the properties are set continue - Base table is used
with Process instance as key.
If Re-starable Locked across Restarts until completes successfully.
33.What are the important steps for implementing the parallel processing?
1. Define you Temporary Tables.
2. Set the Temporary Tables Online pool.
3.
4.
5.
6.
1) Application Engine ignores the commit for the current step at runtime
2) If the current step contains only one Action, only use skip step at by-pass the commit.
38.What are different types Do Select?
1) Select/Fetch
2) Reselect
3) Restartable
Select/Fetch: Opens the cursor only at the first time and retrieve rows one at loop.
Commits inside the step (commits in the Called Section) are ignored if AE is Restart enabled.
Reselect: It opens the cursor and closes the cursor on each iteration of the loop.
It will reselect the same row of data.
Logic in Actions of the step should be such that it will be changing the status of the rows in
the table the do select is selecting.
Commits are not ignored and will be committed in a reselect loop when the restart is enabled.
Restart able: - similar to select/Fetch but it WILL COMMIT inside the loop thus allowing the
checkpoint to the PS_AERUNCONTROL table.
39.What is the difference between the %SELECT and %SELECTINIT meta sql
functions?
Ans %select : if any values have not selected then previous value will be there
%selectinit : if any values have not selected then previous value will reinitilate to null
39.What is the difference between exit (0), exit (1) when we are using this functions in
AE?
Exit (1) causes immediate termination of a PeopleCode program. Use this parameter to
rollback database changes.
Exit (0) caused immediate termination of a Peoplecode Program but dont make rollback in
the database.
39.What is the Mandatory property of App.engine?
Main-->Step-->Action
Is the Mandatory property of App.engine
Main is the required section in Application Engine.
2. There can be multiple steps in single application engine but atleast one step should be part
of AE.
3. Similarly you can have multiple actions in AE but you should have minimum 1 action part
of step.
4. Save as AE
40.What is the use of temporary records and state record in application engine?
Temp Tables:
They are used to store the immediate values during the processing of the AE.
They help in batch processing by creating multiple instances and there by facilitating parallel
processing.
48.Why cant the SQL and call Section Actions be present simultaneously in a single
step?
Call section and SQL actions are mutually exclusive so they cannot be called at a time. There
is chance to get into an infinite loop if they are appeared in the same step.
49.How to test an application engine program in 8.8?
One can test Application in two ways:
1. Running Application engine from 2-Tier
2. Running Application engine from 4-Tier.
1. Running Application Engine from 2-Tier: Open Application Designer Then open desired
Application engine. Then on top middle tool bar you can see 'Run Programm button' click on
to that button give vales to parameter like Process Instance Run Cntrl id etc and click. this
will run application engine and genreate a trace file to you local system. After complition of
Application engine you can see if you got desired results or not.
2. Running Application engine from 4-Tier: Open 4-Tier link Go to peopleTools-> Process
Schedular -> Process Add you Application engine process here in 'Process Defination
Options' give 'PRCSMULTI' in COMPONENT and 'TLSALL' in Process Group and then
Save the page.
After defining Application engine Go to peopleTools-> Process Schedular -> System Process
Request then add a RUN CONTROL ID After adding run control id click on the RUN button
on the page this will lead you to page where all the process will be listed Select you process
name (Application engine Name) and clik on ok. This will run you Application engine.
50.What is the APP engine event in PeopleCode?
Application engine PeopleCode event is On Execute.
51.How do you debug your AE?
Go to configuration manager of 2 tier (App Designer). Then navigate thru Profile > Edit >
Process Scheduler > Application Engine check the Debug option.
2. Open the App Engine program needs to debug and click the traffic light run program
button.
3. Enter the run control id & debug the AE.
52.Differences between State and temporary records?
1. State record at any point of time has only single line information as it's driven by the
Process_Instance as key field. While temp tablecan have multiple rows.
2. State record had only single instance while the temp table can have maximum of 99
instance.
3. State record is used for restart logic.
4. State record can be used for dynamically calling AE section by adding AE_SECTION
AE_APPLID as fields. Temp table can not be used.
53.Why temporary records are needed?
Defines the record definition as a temporary table. Temporary images of the table can
be created specified by the PeopleTools Options Page. Temporary tables are used
for running Application Engine batch processes. Temporary tables can store specific data to
update without risking your main application table.
54.What are the difference between AE and SQR?
1. AE is very systematic as it is structured as Section step and Action. While SQR is not
systematic.
2. AE flow is easy to read and understand while SQR is not that easy.
3. AE is easy to debug as you can do line by line debugging. With SQR its not easily
possible.
4. By using SQR you can create and maintain different reports which are not possible in
AE's.
55.Difference between sql statements and metasql statements?
SQL - INSERT UPDATE CREATE DELETE
METASQL - BIND EXECUTE EDITS SELECT SELECTINIT SQL TABLE TRUNCATE
TABLE UPDATESTAS.
SQL statements:The SQl statements are used to fetch/retrieve update insert delete data from
the database. In PeopleSoft we use the sql stmts using sqlexec or createsql.
Differnet sql statements are: Select Insert Update Delete.
Meta Sqls: Different RDBMS have difference date and time formats. Though the component
processor takes care of the automatic conversion but at the time of using the sqlexec the
automatic conversion does not take place. So in order to understand this the meta sql concept
has come. Which we can use in diff sql stmts. for example datetimein date time
currentdatetime datetimeout etc.
dateIn: This is used in the where clause of Select and update
dateout: This is used while selecting the data.
56.Which of the following menu options allows you to modify the Last Process Instance
Number used within the system?
Process Scheduler, Use, Process Definitions
Meta-SQL where is it stored?
Temporary Tables.
57.What are the different actions in APP Engine?
In addition to the 8 listed above there is an additionally action for AE programs that are
marked as Transform programs and the action is XSLT.
To launch an Application Engine program from another App Engine program, which one of
the following is correct?
CallSection Action
58.What is an inbound and outbound Process?
Importing data by using a file layout requires the following sequence of activities:
1. Provide the import data in a properly formatted flat file.
Each record in the file must correspond to a record with the same name in the PeopleSoft
database, and its fields must have the same names and data formats as the database records
fields. Each record in the file must end with a new line character.
2. Create a file layout definition to match the record and field structure of the data.
Insert the appropriate record definitions into the file layout, then reposition the file records
and file fields to match the record and field positions in the file.
3. Preview and troubleshoot the input data format and content.
4. Generate the data import Application Engine program and PeopleCode.
Export Data:To export data to a flat file, you create a file layout definition, and then write PeopleCode to
transfer the data to a file. The PeopleCode can be initiated from Application Engine or from
any event. It should populate text strings, rowset objects, or record objects, and it should
apply the WriteRecord or WriteRowset method from the File class to transfer the data to the
file by using the file layout definition to position the records and fields as required by the
target application.
59.What is the maximum limitation on temporary table instances in AE?
99
60.Define physical n derived state record?
Which process is used for running AE programs, which are to be run at a frequency of less
than a day?
PSAppsrv
PSAESRV
PSDAEMON
PSQCKSRV
61.(Some scenario) Find which is not part of AE Program, Options would be
1. Action, Section, Step, Event
62.In an Application Engine Program, Maximum number of Actions in a Step?
a. 8
b. 6
c. 7 (SQL & Call Section cant be together)
In an Application Engine Program Call Section Action it is possible to leave the
Program ID with blank Value in certain cases?
a. True
b. False
Let us take a Temp Table TMP_TAO.
In People Tools options the following instance settings are done
Temp Table Instances (Total) : 5
Temp Table Instances (Online): 4
In AE1 App Engine Program the instance count to TMP_TAO is 3
In AE2 App Engine Program the instance count to TMP_TAO is 5.
63.PeopleSoft allows multiple long fields per State Record?
a. True
b. False
64.How many instances are created to TMP_TAO?
a. 8
b. 17
c. 13 (5+3+5) refer to Temporary Table in App Engine
d. 12
65.The physical, dedicated tables are locked at the time the Application Engine
program is loaded into memory?
a. True
2. False
66.State Record can be Dynamic Record?
a) True
b) False
AE does Parse SQL?
a) True
b) False
67.Report Output files are stored in
1. App Srv 2. Batch Srv 3. Web Srv 4. File Srv
68.Trace 255 command line option produces the trace file with the name?
a). PI.AET
b). PID.AET
c). PD.AET
d). None of the above
69.Which process is used for running AE programs, which are to be run at a frequency
of less than a day?
1. PSAppsrv
2. PSAESRV
3. PSDAEMON
4. PSQCKSRV
70.Which of the following are parts of an AE program? (choose 3)
a. Section
b. Procedure
c. Step
d. Function
e. Action
71.Which of the following is application for UPGConvert?
(a). Conversion of Data, consists of cobol programs
(b). Conversion of Data, consists of SQR programs
(c). Data conversion, consists of AE programs
72.Where do u write meta-SQL?
1.Dynamic View
2.Derived Work/Record
3.SQL View
4.Query View
Your Onsite DBA has called you up and told you that one of the tables PS_ABC_TAO has
grown very big in size. Based on the standard naming convention, you have determined that
the record is a temporary record since it ends with _TAO
You look into the database and decide that the data is not required any more.
You ask the DBA to delete the data in the table.
Next day you get a call from an irritated user who says that a daily process that took only 1
minute to run is taking about 2 hours today. You look into his process and find that it uses
PS_ABC_TAO as a temporary table.
73.Two Program views of AE Program?
a). Definition, Program flow
b). Definition, Program view
c). Program view, Object view
d). None of the above
In Call Section Action it is possible to leave the Program ID with blank Value in certain
cases?
a) True
b) False
74.State Record can be Dynamic?
True
False
75.People Soft allows multiple long fields per State Record?
a). True
b). False
76.How many instances are created to TMP_TAO?
1.
2.
3.
4.
8
17
13
12
77.The physical, dedicated tables are locked at the time the Application Engine
program is loaded into memory?
a). True
b). False
78.To launch an Application Engine program from another App Engine program,
which one of the following is correct?
a). CallAppEngine
b). CallSection Action
c). a & b
d). None of the above
Meta-SQL where is it stored?
a) Temp Table b) SQL Table c) Query Table d) Dynamic
79.How do you set the Debug options in AE through Web?
Ignore the steps that have already completed up to the last successful commit.
Begin processing at the next step after the last successful commit.
The ability for PeopleSoft Application Engine toremember completed steps depends on a
record called AERUNCONTROL, which is keyed by process instance.
When a program runs, each time PeopleSoft Application Engine issues a commit it also saves
all of the information required for a program restart in the AERUNCONTROL record.
89.What are the characteristics, if we want to disable restart?
If program has one the following characteristics, you may want to disable restart:
The overhead involved with PeopleSoft Application Engine performing a checkpoint during
the program run is not desirable.
The program commits after N iterations of a looping construct within a step, and the Select
statement driving the loop is composed in such a way that if the program terminated and then
started again, it would ignore transactions that were already processed in the previous
program run. In this sense, the program processes the restart internally, in that PeopleSoft
Application Engine treats each start of a program as a fresh start, instead of restarting a
previous instance.
90.How do we Use Restart at the Program Level?
PeopleSoft Application Engine automatically performs all state record updates. When an
Application Engine program starts, it inserts a row in the state record for the assigned process
instance.
If the state record the program uses is a work record, no database updates can be made to the
record. Consequently, if you restart the program, you might get unexpected results, because
the memory was lost when the program terminated. In fact, the system reinitializes any state
records that are work records at each commit, to ensure consistent behavior during a normal
run and a restarted run. Therefore, you may need to make at least one of your state records a
SQL table to contain values that must be retained across commits or in case of termination.
Finally, the other consideration for programming for restart at the program level is to check
both the PeopleSoft Application Engine Program Properties dialog box and PeopleSoft
Configuration Manager to make sure that Disable Restart check box is not selected.
91.How do we Use Restart at the Section Level?
The section level property associated with restart is section type, which has the options
Prepare Only and Critical Updates.
If a section is only preparing data, as in selecting it, populating temporary tables, or updating
temporary tables, then set the section type to Prepare Only. However, if the section updates
permanent application tables in the database, set the option to Critical Updates.
During runtime, when the system arrives at the first section set to Critical Updates, it sets the
AE_CRITICAL_PHASE value in the AERUNCONTROL record to Y. Once set, the value of
AE_CRITICAL_PHASE remains Y until the program completes successfully. When the
program completes, the corresponding row in AERUNCONTROL is deleted. Therefore, a
Prepare Only section following the Critical Updates section wont reset the
AE_CRITICAL_PHASE value to N.
If your program terminates, the user can check the AE_CRITICAL_PHASE value. If
its Y. the user knows that the section that failed is critical and that the program should be
restarted to ensure data integrity. If AE_CRITICAL_PHASE is N, restarting may not be
necessary; however, as a general rule, you should restart even if AE_CRITICAL_PHASE is
set to N.
92.How do we Use Restart at the Step Level?
In your programs Where clause of a Do Select action, you should include conditions that
reduce the answer set returned from the Select statement.
For example,
SELECT RECNAME, FIELDNAME
FROM PS_AE_RECFIELD
ORDER BY RECNAME, FIELDNAME
If you ran this Select statement as part of a Do Select action with Restartable selected as the
Do Select type, the system might process some of the rows twice after a restart. Also, if you
have specified Reselect, the program could execute in an infinite loop, because theres
nothing to reduce the answer set. However, if you modified the Select statement to look more
like the following, you could make it Restartable.
SELECT RECNAME, FIELDNAME
FROM PS_AE_RECFIELD
WHERE RECNAME > %Bind(RECNAME)
The naming convention is, it must end with _AET identifier and process instance should be
the one and the only key for the state record, so that application will identify the record as a
state record.
98.PeopleCode events used in AppEngine?
We can use the on-execute event. Sometimes we can use the saveprechange event also.
99.What is state record?
Ans: This is used to pass values between, Sections, Steps and Actions.
What are the meta-sqls used in state record?
Ans: %BIND, %SELECT & %SELECTINIT.
100.What type of records used in state record?
Ans: Derived/ Work Record & SQL Table.
101.What are the Doselect, Dowhile & Dountil?
Ans:
What is set processing?
Ans: Performing Data Processing as a Sets of Data and at the Database level is called Set
Processing.
102.What is restart facility? Where do you set this?
Ans: This is set at the Application Engine Advance Properties.
103.What is parellel processing?
Ans: Dividing the retrieved data to different temp tables based on some criterias.
104.How can we overcome from deadlocks in Application Engine?
Ans: locking the temp table before processing data and unlocking the temp table after
Process data.
PSAE.EXE CT DB_TYPE -CD DB_NAME -CO OPRID -CP PASSWORD R RUN_CONTROL -AI PROGRAM_NAME -IPROCESS_INSTANCE
From a process request page.
You can restart programs from a process request page only for those programs that run on the
server.
Process Requests.
2. Locate the run control ID number of the program to restart.
3. To display the details of the failed process, click the Process Detail link.
4. On the Process Request Details page, select Restart Request, and click OK.
1.
2.
3.
4.
5.
Ans:This error will occur because of problem on reading the file data.For this we use
readrowset function. I think miscalling this fucntion in the inbound program.
114.Suppose by running AE we can able to insert 100 rows. But the requirement is user
want to know which rows have been inserted and which rows havent been inserted.
How to reach it?
Ans: We should use temporary tables. if the row passed successfully then insert into
temporary table.
115.While I am running AE getting an error like Processes are suspended.. Why
this error is coming and how to resolve the same?
Ans: a)If we used to run on same runcontrol id then we got this error.
b) If the peoplecode debugger is not enable then we got this error
116.In an AE when running in batch mode program how to share the value?
A) Using state records
117.Is Encapsulation possible in AE?
A) Yes
118.How to insert and update rows into a record using Application Engine and
Component Interface?
A) There are many ways to Insert and Update rows into a record either using Application
Engine or Component Interface.
In Application Engine programme, using peopelecode we can create a stand-alone rowset
with the record to be updated.
Fill the rowset using rowset.fill method. Manipulate the data and use record.Save() method.
In Component Interfaces, if the record is in the C.I buffer and is populated in the buffer, the
C.I Save method will Update or Insert the data in the record.
119.Does PeopleSoft A.E write the timings trace?
Ans: Yes
120.What is the difference in using SQL directly and calling SQL from Peoplecode in
Application Engine?
121.As we have the option AE and SQR to do interfaces why we use CI with AE?
Ans: Its easy to write Peoplecode in AE using CI and also the peoplecode enhancements
will also applicable to CI.
122.While I am running AE getting an error like Processes are suspended.. Why
this
123.Error is coming and how to resolve the same?
124.How to pass run control parameters to AE?
125.While I ran AE getting an error like File data is not reading properly why this
error is showing? And How to rectify it?
---------- is the required the section in AE Programs.
Application Engine Programs can be written without having the State Record.
(True/False)
-------------- Sections are allowed in the Application Engine Programs.
The key field in the State Record is -------------126.Which are the primary methods to trigger Application Engine Programs?
A. Batch file
B. PeopleCode
C. Process Scheduler
D. from within Application Designer
E. COBOL
127.How do you run an online job or process in PeopleSoft?
You can run using a Run Control page, once you click the run button it will submit the job to
Process Scheduler. to check the status of submitted job click on Process Monitor link.
128.What is the APP engine event in peoplecode?
A: Application engine peoplecode event is OnExecute.
129.What are the different actions in APP Engine?
A1: dowhen,dowhile,doselect,peoplecode,sql,call section,log message,do until.
A2: in addtion to the 8 listed above, there is an additionally action for AE programs that are
marked as Transform programs and the action is XSLT
130.How many temporary records are there in app engine?
A1: Maximum we can use 99 Temp Tables in App Engine.
A2 : There Can be n number of Temporary tables, but App. engine. creates upto 99 instances
for a single temporary table.
131.How do you debug your AE?
A1: 1. Go to configuration manager of 2 tier (App Designer). Then navigate thru Profile >
Edit > Process Scheduler > Application Engine, check the Debug option.
2. Open the App Engine program needs to debug and click the traffic light, run program
button.
3. Enter the run control id & debug the AE.
A2: 1)Peoplesoft>Peopletools>Process Schedule>process> Select Process Name
2)In the page select "Over Ride Options"
3)*Parameters List > Append > -Trace.
A3 : 1 .Open the Configuration Manager and click the Profile tab. You will see a list of
instances to choose.
2. You can double-click the instance or highlight the instance and click on the Edit push
button
3. Click on the Process Scheduler tab. You will see the Debug checkbox in the upper right
hand corner.
132.Why temporary records are needed?
A1: Temporary tables are basically used for the parellel processing and for better
performance.
A2: Defines the record definition as a temporary table. Temporary images of the table can be
created, specified by the PeopleTools Options Page. Temporary tables are used for running
Application Engine batch processes. Temporary tables can store specific data to update
without risking your main application table.
A3: Temp tables are mainly used for Parrellel processing. Also you take the data you want
for manipulation into your Temp table, and you can play with that. Finally when you get the
desired data, you can update the main tables.
A4: One important thing, when dealing with temp tables. When you use PeopleCode to call
the app-engine, it runs synchronously and also it doesn't use any temporary table instances
created for batch processing instead it uses the instances created for online processing which
by default is 3.
A5: We use temp records for batch processing.This temp table can store specific data to
update without risking our main application table.
A6 :temporary tables are used by PF_RESOLVER in EPM. The source data will be resolved
based on the run time parameters and inserted into the temporary table instance based on the
record suite ID.
A7 : AE programs run in batch mode so the multiple instances of the same program gets
created and due to this the deadlock situation can come. To avoid this situation peoplesoft
provides the concept of temp tables i.e. the data that needs to be updated by the AP program
is stored in the temp tables. This avoids the situation where the programs fetches the row one
by one, process it, and then send the updated data back. By creating temp tables you can store
the data that is effected by business logic in the temp table and then you can perform the
opertaions on it instead of the main table. Once the processing is completed you can send the
data back to the main table.
A8 : Temporary table can be used in application engine programs to support parallel
processing and better performence.
133.Why state records are needed?
A1: State Records are used to pass parameters and values between the various sections in an
Application Engine. State record may be either SQL Table or a Derived Work record.
A2: state record is a method to allocate variable for yr app. engine programs, using state
record we can pass values from one section to another.
A3: State records are used in Application engine development and customization. Basically
they are used to pass the values (variables, database field) from from section to another
section, from action to another action.Each application engine can have multiple state record
but there will be only one default state record. It can be a SQL table or derived table. All state
record ends with _AET.
A4: The use of State record beside just passing the parameters between different steps of AE,
is to enable restart logic. The programmer can program AE by using state record, in such a
way that it can be restarted from any point of AE. But to enable the restart, the state record
should be physical table and not the derived/work record.
A5 : State record is used for providing the variables, database fields to different sections of
the application engine. Scope of the state record is limited to the application engine program.
AE can have multiple state records, but can have only one as a default state record.
It can be physical or derived work record. Physical record can be used when you have a
restart logic and when you have disables the restart logic derived and work record can be
used.
The naming convention is, it must end with _AET identifier and process instance should be
the one and the only key for the state record, so that application will identify the record as a
state record.
A6: The state records main use is passing values between sections. ONE of the other main
resons is to hold the run time parameters passed from a run page as well when application
engine is triggered from a run page as also run time pareameters passed from within a
peoplecode ust before the app engine is called. THis does not mean the default state record
holds only the exact number of fields on the run page. Example AE_EXISTS helps as flag
and whoose value can be used for controlling the logic between the execution of SQLS
between the sections of the application Engine.
A7: State records are created by app engine program developers. The state records are used to
pass vaules from one action to aonther. State records can be considered as temporary storage
for online processing.
%Bind is used to retrieve value from ate record.
%select is used to pass values to the state record.
134.Differences between State and temporary records?
A1: 1. State record at any point of time has only single line information, as it's driven by the
Process_Instance a skey field. While temp table can have multiple rows.
2. State record had only single instance, while the temp table can have maximum of 99
instance.
3. State record is used for restart logic.
4. State record can be used for dynamically calling AE section, by adding AE_SECTION,
AE_APPLID as fields. Temp table can not be used.
A2: In the above comment by Vaibhav, "State record is used for restart logic", Temp records
can also be used for restart logic. That should not be counted as a diff. FYI.
Temp tables are used for set processing kind of things whereas state records for row
processing.
A3: The Temp table data is available only for the duration of run. Hence when the program is
aborted the data stored in Temp table is lost and you can not restart the program from that
particular point. Hence the statement I used is correct that State record can only be used for
re-start logic.
135.What is set processing and row processing?
also why is it said that once the process is aborted the temp table data gets lost? it s a
table afterall and until the table is explicitly truncated, we can retrieve the values, right?
what restart logic?
This is in addition to all the replies above If you create a sql table as State Record - data will be stored in the database. If at any point of
time, App Engine programs stops, you can continue from that point on provided Restart is
enabled. This is called the restart logic. With restart enabled, you don't have to run app.
engine program all over again. For this to be true, state record cannot be a derived record. It
has to be a sql table.
Temp. table is primarily used for set processing. If there are several users running the
program at the same time, copies of tables are created in order to process in parallel. Temp.
table lives only until the program runs and is dissolved immediately after.
A6: purpose of Temp record is different that is parallel processing not the restart logic. and
it's right that state record can be used for restart logic because it have last row processed.
136.Different ways to run AE, SQR, (Command, process scheduler)?
A: command prompt, process schedular, online, manually from 2-tier.
A2:SQR:command line(sqrw.exe),process scheduler & peoplecode
AE: commandline(psae.exe),process scheduler,peoplecode-callappengine(aename,st-rec).
137.Difference between sql statements and metasql statements?
A: Insert, Select, Update, Insert.
Metasql - %InsertSelect, %Select, %Selectinit.
A2: 5 ways to run an AE: for end-uses: Process Scheduler for developers: Process Scheduler,
PP Tools>AE, Dos Command Line, App Designer, called by PP Code.
A3: We can Run Application engine programs three ways
1. Two tier mode
2. Using Process scheduler
3. Command prompt
141.What is a state record?
A1: State record is a method by which u pass the values to u r application engine program..
A2: State record is temporary memory storage for AE program. It can be a record or a table
A3: A State Record is temporary record which is used in AE Programs, Which is used pass
the values between one Section to another section.
A4: State Record is used to pass the values from sections to sections and Q183actions to
actions. State record is not a temporary record; it can be Sql record or derived work record.
Mainly sql record is used for restart of the application engine programme. It should have
naming convention of _AET.
A5: The State record is used to pass variable information between the application engine
sections
142.Why cant the SQL and call Section Actions be present simultaneously in a single
step?
A: If u use both call section and sql it gives the data base Traffic. Same time both will call
d/b.
143.How to test an application engine program in 8.8?
A: One can test Application in two ways:
1. Running Application engine from 2-Tier
2. Running Application engine from 4-Tier.
1. Running Application Engine from 2-Tier: Open Application Designer, Then open desired
Application engine. Then on top middle tool bar you can see 'Run Program button' click on to
that button, give vales to parameter like Process Instance, Run Cntrl id etc and click. this will
run application engine and generate a trace file to you local system. After completion of
Application engine you can see if you got desired results or not.
2. Running Application engine from 4-Tier: Open 4-Tier link, Go to peopleTools-> Process
Schedular -> Process, Add you Application engine process here, in 'Process Defination
Options' give 'PRCSMULTI' in COMPONENT and 'TLSALL' in Process Group and then
Save the page.
After defining Application engine, Go to peopleTools-> Process Schedular -> System
Process Request, then add a RUN CONTROL ID, After adding run control id, click on the
RUN button on the page, this will lead you to page where all the process will be listed, Select
you process name (Application engine Name) and clik on ok. This will run you Application
eingine.
144.How do you run an online job or process in PeopleSoft?
A. You can run using a Run Control page, once you click the run button it will submit the job
to Process Scheduler. To check the status of submitted job click on Process Monitor link.
145.Two Program views of AE Program?
A1: Definition, Program flow
A2: PeopleSoft Application Designer enables you to display your program in the following
two views:
Definition
Program Flow.
146.In Call Section Action it is possible to leave the Program ID with blank Value in
certain cases?
A: True
A2: The Answer is True, as many times you will call section from the same App Engine. In
such scenario, the Program Id can be blank.
147.State Record can be Dynamic?
A: Yes, if you don't have restart enabled, state record can be dynamic.
148.People Soft allows multiple long fields per State Record?
A: False
149.Let us take a Temp Table TMP_TAO.?
In People Tools options the following instance settings are done.Temp Table Instances
(Total) : 5Temp Table Instances (Online): 4In AE1 App Engine Program the instance
count to TMP_TAO is 3 In AE2 App Engine Program the instance count to TMP_TAO
is 5.How many instances are created to TMP_TAO ?
A: 13
150.The physical, dedicated tables are locked at the time the Application Engine
program is loaded into memory?
A: True
151.To launch an Application Engine program from another App Engine program,
which one of the following is correct?
A: Call Section Action.
152.What are the differences between AE and SQR?
1. AE is very systematic as it is structured as Section, step and Action. While SQR is not
systematic.
2. AE flow is easy to read and understand, while SQR is not that easy.
3. AE is easy to debug as you can do line by line debugging. With SQR, its not easily
possible.
4. By using SQR, you can create and maintain different reports, which are not possible either
AE's.
The main difference and advantage is when a people soft object are changed, APP engine will
be updated automatically, while SQR should be done manually.
153.What are two program views in AE Program?
Definition and Program flow
154.What is the APP engine event in peoplecode?
only see Sections and Steps based on specified criteria. This feature will typically be
used in situations where you are developing Application Engine programs intended to
run:
(a). in Multiple Markets (b). On Multiple Platforms
(c). with effective dated sections (d). All of the above
164.Which in of the following is correct regards to the usage of ReUse statement in
App.Engine Programs:
(1). Don't use ReUse if you use %BIND variables to build parts of the SQL statement
(2). If you use STATIC option on the %BIND you can use ReUse.
(3). Don't use ReUse if you have %BIND variables in the field list of a SELECT
statement unless the value is constant.
(4). You can have Application Engine recompile a reused statement by using the
%ClearCursor function.
(a). 1 & 3 only (b). 2 & 4 only (c). 1, 2 & 3 only (d). 2, 3 & 4 only (e). All 1, 2, 3 & 4
Which of the following is not true:
(a). Application Engine Definition is an Application Designer Object
(b). Application Engine Developers can take advantage of all the interface benefits
that Application Designer offers.
(c). Multiple window support, which allows a developer to have multiple Application
Engine programs open simultaneously.
(d). Change control support allows you to manage access to Application Engine
objects by locking records.
(e). You can easily launch the PeopleCode Editor and the SQL Editor from within the
Application Engine Designer interface, as needed.
(f). None of the above.
165.Difference between Interface, Report & Process?
Ans: Interface: This is used to interact with other system may be PS or Legacy System
Report: This has a user interaction to execute or generate.
Process: This is scheduled in Batch Server so there is no need for the user to especially run it.
It automatically executes.
166.Ways to call AE programs (peoplecode,batch file,process scheduler,application
designer.
Where can u see the status of the job report and details in secured way?
Process monitor
167.Where does one see the status of the process requested to be executed?
Process monitor
168.Which of the following menu options allows you to modify the Last Process Instance
Number used within the system?
a) Process Scheduler, Use, Job Definitions
b) Process Scheduler, Use, Process Servers