2 Application Engine
2 Application Engine
2 Application Engine
Actions
57.Which PeopleTools Table stores Information about
Actions?
PSAESTMTDEFN
58.How many Actions are there in App Engine?
9 Actions.
59.What’s the Sequence of execution?
DoWhen, DoWhile, DoSelect, PeopleCode, SQL / CallSection,
LogMessage, DoUntil, XSLT.
60.How many Actions we can insert in a Step?
7. If the AE type is Transform we can insert 8 including XSLT.
61.What are the ‘Looping Related’ Actions?
DoSelect, DoWhile, DoUntil.
62.What are the ‘Condition Related’ Actions?
DoWhen
DoWhen
63.About Do When?
Its like IF statement, First it executes the Condition, if any row
of data exists then executes all subsequent Actions. Otherwise
comes out from the Step.
Ex:
Assume a Table ABC is having EMPLID and there are No rows.
And the program structure is
In PeopleCode, message will be displayed as
No of Rows in ABC Table: 10 SQL
Employee ID in State Record: AA
74.About SQL Action?
In SQL Action, Top 5 rows in descending order (JJ, II, HH,
GG, and FF) will be deleted. SQL Action is used to perform the DDL, DML, and DCL
operations.
Application Engine again executes the Select Statement. Mostly we use SQL Action to perform DML commands
Condition gets satisfies as there are 5 rows. (UPDATE, DELETE, and INSERT).
Inserts first employee AA into State Record and continues the Ex:
execution with rest of the Actions. Program structure is
In PeopleCode, message will be displayed as MAIN
No of Rows in ABC Table: 5 Step1
SQL
Employee ID in State Record: AA IF EXISTS (SELECT 'X' FROM SYSOBJECTS
In SQL Action, Top 5 rows in descending order (EE, DD, CC, WHERE TYPE = 'U' AND NAME = 'ABC')
BB, and AA) will be deleted. DROP TABLE ABC;
Step2
Application Engine again executes the Select Statement. SQL
CREATE TABLE ABC (EMPLID CHAR(10) NOT NULL);
Condition gets fail as there are no rows.
Step3
Comes out from the Step and as there are no other section to SQL
execute, program will end. INSERT INTO ABC VALUES ('AA');
INSERT INTO ABC VALUES ('BB');
DoSelect with Select/Fetch Option. INSERT INTO ABC VALUES ('CC');
Step4
Application Engine first executes the Select Statement in SQL
DoSelect Action. UPDATE ABC SET EMPLID = 'DD' WHERE EMPLID = 'CC'
Step5
Condition gets satisfies as there are 10 rows.
SQL
Inserts all 10 rows into buffer. DELETE FROM ABC WHERE EMPLID = 'AA'
Step6
Selects first employee AA from buffer and executes all SQL
Subsequent Actions. COMMIT
In PeopleCode, message will be displayed as Step7
SQL
No of Rows in ABC Table: 10
%Select(EMPLID) SELECT EMPLID FROM ABC
Employee ID in State Record: AA Step8
In SQL Action, Top 5 rows in descending order (JJ, II, HH, PeopleCode
GG, and FF) will be deleted. MessageBox(0, "", 0, 0, "Employee ID in State Record:
" | CNU_AET.EMPLID.Value);
Selects next employee BB from buffer and executes all
Subsequent Actions. Application Engine first executes Step1 – SQL. Checks for ABC
In PeopleCode, message will be displayed as table in System Table. If table exists, it drops the table.
No of Rows in ABC Table: 5 Then Executes Step2 – SQL. Creates ABC Table.
Employee ID in State Record: BB Then Executes Step3 – SQL. Inserts 3 Employee IDs AA, BB
and CC.
In SQL Action, Top 5 rows in descending order (EE, DD, CC,
BB, and AA) will be deleted. Then Executes Step4 – SQL. Updates CC EMPLID with DD.
Then Executes Step5 – SQL. Deletes AA EMPLID.
Selects next employee CC from buffer and executes all Then Executes Step6 – SQL. Commits the transaction.
Subsequent Actions. Then Executes Step7 – SQL. Selects the EMPLIDs and inserts
In PeopleCode, message will be displayed as the first EMPLID BB into State Record.
No of Rows in ABC Table: 0 Then Executes Step8 – PeopleCode would display
Employee ID in State Record: CC Employee ID in State Record: BB
In SQL Action, No rows to be deleted. Program will continue 75.Can we insert more than one SQL in SQL Action?
since ‘Continue’ is selected in ‘No Row’ Property. Yes, we can insert n number of Valid SQL Statements in one
SQL Action.
Selects next employee DD from buffer and executes all
76.What are the Properties available with SQL Action?
Subsequent Actions.
In PeopleCode, message will be displayed as
No of Rows in ABC Table: 0
Employee ID in State Record: DD
In SQL Action, No rows to be deleted. Program will continue
since ‘Continue’ is selected in ‘No Row’ Property.
PeopleCode
LogMessage
80.What is the use of PeopleCode Action?
89.About Log Message Action?
To Invoke PeopleCode Functions.
A Log Message Action can be used to write a message to the
To Read and Write the files. PS_MESSAGE_LOG and PS_MESSAGE_LOGPARM based on a
To Invoke Component Interface. particular condition in the program.
To Invoke Business Interlinks. Mostly useful to write Error Message to the Message Log and
To Publish an Application Message. can be useful to write Informational and Status Messages.
To do the XML File Processing. This gives your program Multi-Language capability.
81.What are the options available with PeopleCode ‘On When a user views the Messages using the Application Engine
Return’ property? Message Log page, the system retrieves the appropriate
message string from the message catalog based on the user’s
language preference.
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.
90.What are the Properties available with Log Message
1.Abort: The program issues an error and exits immediately. Action?
2.Break: The program exits the current Step and Section,
and control returns to the calling Step.
3.Skip Step: The program exits the current Step, and
continues processing at the next Step in the Section. If this
is the last Step in the section, the calling Step resumes
control of the processing. XSLT
82.How ‘Error handling’ and ‘Exception handling’ can be
done in Application Engine Program? 91.When XSLT action will be enabled?
Step Level - On Error Property. When we select the Application Engine Type as Transform.
Action Level – PeopleCode – On Return Property. 92.What are the mutually exclusive Actions?
Action Level – SQL – No Rows Property. SQL and Call Section are mutually exclusive to avoid the Data
Conflicts and Deadlocks.
83.What is the PeopleCode Command to Send Mail?
SendMail. Assume Call Section and SQL Actions are allowed in one Step.
84.How can we Open/Read/Write files Thru AE? Assume an Update SQL is there in one Step which updates
By using File Layout Object. ABC Table. So curser will be opened on ABC Table.
And By using PeopleCode Commands (Get File, ReadLine,
And Assume a Call Section is there in the same Step which
WriteLine) in PeopleCode Action.
calls the other Section which is having another SQL on the
&FileName1 = "C:\Temp\Temp1.txt"; same ABC Table.
&FileName2 = "C:\Temp\Temp2.txt";
As the cursor is already opened, when it tries to execute 2 nd
SQL, Deadlocks and data conflicts will arise.
&FILE1 = GetFile(&FileName1, "R", %FilePath_Absolute);
&FILE2 = GetFile(&FileName2, "W", %FilePath_Absolute); So to avoid these situations, Call Section is not allowed when
there is an SQL Action in a Step and vice versa.
Temporary Table
138. Which PeopleTools table stores the Temporary Table
information?
PSAEAPPLTEMPTBL
139. What is the significance of using Temporary Table?
To avoid the dead locks.
Application Engine programs run in batch mode, So
multiple instances of the same program often execute in
parallel processing. When this happens, there is a
significant risk of data conflict and deadlocks on tables. To
avoid this PeopleSoft PeopleTools has provided a feature
that enables you to dedicate specific instances of temporary
tables for each program run.
140. What is the use of Temporary Table?
Temporary table stores intermediate results during a
program run.
141. We can store the temporary data in SQL Table or
Temporary Table. Is there any significant use of
Temporary Table then?
Table instances can be maintained in Temporary tables.
142. What is the use of %Table?
Returns the SQL Table Name.
Ex: %Table(JOB) returns PS_JOB.
If the Table is a Temporary table and the current process is
having Temporary Table Instances then %Table returns
PS_JOBnn Where nn is the Instance Number.
143. What is the use of %TruncateTable?
Deletes the data from the Temporary Table.
144. How many maximum instances can be created for a
Temporary table?
99.
145. What is the instances naming convention for Online
and Batch run?
_TMP is for Online Process and _TAO is for Batch Process.
146. What is the required field in Temporary Table?
PROCESS_INSTANCE and it should be Key field.
147. What is the limitation to the Temporary Table Name?
13 characters.
148. What is the use of ‘Instance Count’ option in AE
Properties - Temporary Table Tab?
No of Physical Tables will be created based on this
Then 169. Code to run AE thru CallAppEngine when there is No
Make the Section as Dynamic by selecting Dynamic Check State Record assigned?
Box. CallAppEngine("C_CALLAPPENG");
162. Sample Program for Dynamic Call Section Concept. No Need to pass State Record name.
MAIN 170. What are the limitations to use CallAppEngine
Step1 Function?
DoSelect Use this function in SavePreChange, SavePostChange,
%Select(AE_APPLID, AE_SECTIONID)
Workflow, and Field Change.
Select AE_APPLID, AE_SECTIONID FROM PS_ABC
171. What happens whether CallAppEngine Commits or
OR Rollbacks when there is an error.
If CallAppEngine results in a failure, all database updates
PeopleCode will be rolled back as No commits occur during the entire
MessageBox(0, "", 0, 0, "Main Section - Step1 - program run.
PeopleCode"); 172. Is it required to Create a Process Definition to run AE
If %OperatorId = "PS" Then thru CallAppEngine Function?
C_DYNAMIC_AET.AE_APPLID.Value = "C_DYNAMIC1";
No, Not require.
C_DYNAMIC_AET.AE_SECTION.Value = "Insert";
Else 173. How can we Trace When we run the AE thru
C_DYNAMIC_AET.AE_APPLID.Value = "C_DYNAMIC1"; CallAppEngine PeopleCode Function?
C_DYNAMIC_AET.AE_SECTION.Value = "Delete";
End-If;
Call Section Process Scheduler
Select Dynamic Check Box 174. What is the procedure to run AE thru Process
Delete Section Scheduler?
Step1
Create Application Engine thru Application Designer.
PeopleCode
MessageBox(0, "", 0, 0, "Delete Section - Step1 - Create a New Process Definition in Process Scheduler.
PeopleCode"); Got to Home – PeopleTools – Process Scheduler – Process.
Insert Section Click on Add a New Value.
Step1 Select Application Engine as Process Type.
PeopleCode
Specify the Exact AE Program Name as Process Name.
MessageBox(0, "", 0, 0, "Insert Section - Step1 -
PeopleCode"); Click on Add.
Click on Process Definition Tab; Specify Component Name
and Process Groups.
If trace is required - Click on Override Options, select
Execution of AE Parameter List type as Override and Specify the Trace option
like –Trace7.
163. How many ways we can run AE Program?
Click on Save.
Online Execution
Go to the Specified Component, Click on Run and you will
1. Thru PeopleCode – CallAppEngine()
find the Newly Attached Process. Select and Click on OK
Batch Execution
2. Thru Process Scheduler. AE Request Page
3. Thru AE Request Page. 175. What is the procedure to run AE thru AE Request
Manual Execution Page?
4. Thru Run Button in App Designer. Create Application Engine thru Application Designer.
5. Thru Command Line. Create a New Process in Process Scheduler.
6. Thru Push Button. Got to Home – PeopleTools – Process Scheduler – Process.
164. How to call Application Engine form another Click on Add a New Value.
Application Engine? Select Application Engine as Process Type.
Thru Call Section Action. Specify the Exact AE Program Name as Process Name.
165. How to run Application Engine thru PeopleCode? Click on Add.
CallAppEngine. Click on Process Definition Tab; Specify Component Name as
ScheduleProcess. AE_REQUEST and Process Groups.
CreateProcessRequest() / Schedule() If trace is required - Click on Override Options, select
Parameter List type as Override and Specify the Trace option
CallAppEngine like –Trace7.
166. What is the procedure to run AE thru CallAppEngine? Click on Save.
Get the State Record with CreateRecord Function. Go to PeopleTools, Application Engine, Request AE.
Assign State Record Values. Click on Add a New Value.
Call the AE thru CallAppEngine Function By Specifying AE Specify the User ID, Run Control ID, Program Name. Then
Name and State Record Name. Click on ADD.
167. What’s the code to run AE thru CallAppEngine? Specify the required values like State Record name, Bind
&Record1 = CreateRecord(Record.C_CALAPPNG1_AET); Variables. Then Click on Run and you will find the Process.
Select and Click on OK.
&Record1.EMPLID.Value = “A55849”
176. What makes the difference when we run AE thru
CallAppEngine("C_CALLAPPENG", &Record1);
Process Scheduler and AE Request Page?
168. Code to run AE thru CallAppEngine when there is
Thru AE Request Page We can specify additional Values and
more than one State Record?
Parameters.
&Record1 = CreateRecord(Record.C_CALAPPNG1_AET);
177. What are the tables will get populated while running
&Record2 = CreateRecord(Record.C_CALAPPNG2_AET); AE thru AE Request page.
&Record1.EMPLID.Value = “A55849” AEREQUESTTBL and AEREQUESTPARM
&Record2.DEPTID.VALUE = "1000";
CallAppEngine("C_CALLAPPENG", &Record1, &Record2); Commend Line
178. What are the commands required to run AE thru 185. Is it required to Create a Process Definition to run AE
Command Line? thru CreateProcessRequest Function?
PSAE.EXE —CT <DB_TYPE> -CD <DB_NAME> -CO <OPRID> -CP Yes, We have to create a Process Definition otherwise it will
<PASSWORD> -R <RUN_CONTROL> -AI <PROGRAM_NAME> -I throw an error stating that ‘An entry must be provided in
<PROCESS_INSTANCE> the process definition table before this process can be
C:\PT8.45\bin\server\WINX86\psae.EXE -CT MICROSFT -CS scheduled to run.’
PSNT -CD HC -CO PS -CP PS -R 123 -AI AETSTPROG -I 111 186. What are the Attributes we can specify with
179. What are the Command Line Arguments available CreateProcessRequest Function?
when we run AE with Command Line? &RQST.RunControlID = "MYRUNCONTROL_ID";
&RQST.ProcessName = "PROCESSNAME";
&RQST.RunLocation = "PSNT";
&RQST.ProcessType = "SQR";
&RQST.OutDestType = "Email";
&RQST.OutDestFormat = "PDF";
&RQST.OutDest = "User : PS,Role : PeopleSoft User";
&RQST.EmailSubject = &Subject;
&RQST.EmailText = &Text;
&RQST.EmailAttachLog = False;
187. How to Pass Run Control Input Values when we run
an AE Program thru CreateProcessRequest?
Push Button
188. Procedure to run AE thru Push Button?
Insert a Push Button in page.
Go to Push Button Properties, Select the Destination –
Process. Then Process Options will be enabled.
Select Type as Application Engine.
Select the AE name.
Navigate to the Particular Page in PIA.
Click on Push Button.
Debugging AE
189. Why debugging is required?
When we submit a program, it may run to
Success or
No Success or
Success but Output may not be what we expected or
Program may run to success but takes longer time.
Debugging is nothing but finding out the cause for a
problem.
190. How many ways we can debug an Application Engine
Program?
1. Process Monitor.
2. Interactive Debugger.
3. Thru Command Line.
4. PeopleCode Debugger.
5. Trace file.
191. What is the use of Process Monitor?
Useful to see the Program Status whether it ran to Success
or not.
192. How to debug AE thru Interactive Debugger option?
In Configuration Manager, Click on the Trace tab and turn
off the Statement Timings.
Click on Profile Tab - Edit - Process Scheduler – Check
Debug check box.
After specifying the Debug option in the Configuration
Manger, Run any program then we will see the DOS
communication window, then type ? And press ENTER.
Then it displays all the debugging commands.
(Q)uit Rollback work and end program
Commit work and end program (valid
E(X)it
between steps)
(C)ommit Commit work (valid between steps)
(B)reak Set or remove a break point
(L)ook Examine state record fields
(M)odify Change a state record field
(W)atch Set or remove a watch field
(S)tep over Execute current step or action and stop
Go inside current step or called section and
Step (I)nto
stop
Execute rest of step or called section and
193. How to debug AE thru Command Line? 8 Show fetched values
Use –DEBUG Y at the end of the Command. 16 Show stack
Specify the psae.EXE path and all the parameters like 64 Trace start of programs
DBName, UserID, Password, RunControlID, and 128 Trace external function calls
ProcessInstance. At the end use –DEBUG Y 256 Trace internal function calls
C:\PT8.45\bin\server\WINX86\psae.EXE -CT MICROSFT -CS 512 Show parameter values
PSNT -CD HC -CO PS -CP PS -R 123 -AI AETSTPROG -I 111 1024 Show function return value
–DEBUG Y. 2048 Trace each statement in program(recommended)
It displays a message “Application Engine Debugger – enter If we want to enable 1, 2,128, we can specify sum of 3 as 131.
command or type ? for help”.
194. How to debug AE thru PeopleCode Debugger option?
Open PeopleSoft Application Designer. Select Debug,
PeopleCode Debugger Mode. Restart Facility
195. Why we normally Trace the Programs? 199. About Restart Facility?
To monitor the performance of AE. When there is an Abnormal Termination or Failure of an AE,
196. What are the default options set for Trace in an AE? we can restart the request from the same point where it
By default, all Application Engine traces are turned off. got errored out i.e. the last successful Check Point.
197. What are the ways to Trace Application Engine? 200. Ways to Disable/Enable Restart facility?
a) Command line 1) Program Properties:
By using –TRACE. In AE Program Properties – Advanced Tab – Disable
Restart Check box.
For Example:
PSAE.EXE —CT <DB_TYPE> -CD <DB_NAME> -CO <OPRID> -
2) Configuration Manager:
CP <PASSWORD> -R <RUN_CONTROL> -AI In Configuration Manager – Profile Tab – Edit button –
<PROGRAM_NAME> -I <PROCESS_INSTANCE> -TRACE Process Scheduler Tab – Disable Restart check box.
<Value>
3) Command Line:
C:\PT8.45\bin\server\WINX86\psae.EXE -CT MICROSFT -CS
Include the −DR Y option in the Command Line of
PSNT -CD HC -CO PS -CP PS -R 123 -AI AETSTPROG -I 111
PSAE.EXE.
-TRACE 384
201. Required steps to implement restart facility?
b) Configuration Manager.
Program level:
Set the Tracing option in Configuration Manager > Trace tab
> A.E Trace. One State Record should be SQL table.
c) Process Definition. Disable Restart should not be checked in Program Properties
and Configuration Manager.
Go to Process Scheduler – Process – Select any Process – Go
to Override Tab – Select Parameter List type as Override and Section level:
Specify the Trace option like -TRACE 7 -TOOLSTRACEPC The options for Section Type should be Prepare Only and
3980 –TOOLSTRACESQL 135. Critical Updates.
d) Server configuration files. If the Section is only preparing data like selecting it
We can enable the trace in the configuration files of populating temporary tables or updating temporary tables
Application Server and the Process Scheduler Server then the Section type should be Prepare Only.
198. What are the Trace option parameters available in If the Section is updating permanent Application Tables in the
PeopleSoft? database Section type should be Critical Updates.
SQL Trace: Step Level:
We need to have some conditions that reduce the answer set
1 SQL statements
returned by the DoSelect
2 SQL statement variables
4 SQL connect, disconnect, commit and rollback Add and Order By clause:
8 Row Fetch (indicates that it occurred, not data) %Select FIELD1
16 All other API calls except SSB SELECT FIELD1
Set Select Buffers (identifies the attributes of FROM PS_SOME_RECORD
32 WHERE FIELD1>%BIND(FIELD1)
columns to be selected).
64 Database API specific calls ORDER BY FIELD1
128 COBOL statement timings ADD A SWITCH TO THE SELECTED TABLE
256 Sybase Bind information SELECT COLUMN1, COLUMN2
512 Sybase Fetch information FROM PS_TABLE1
WHERE PROCESSING_SWITCH = 'N'
1024 SQL Informational Trace
Delete processed rows.
PeopleCode Trace:
202. How many ways we can Restart the AE Program?
1 Trace STEP execution sequence to AET file
From the Command Line.
2 Trace Application SQL statements to AET file
4 Trace Dedicated Temp Table Allocation to AET file This Option normally useful to the developers not for the
end users.
8 not yet allocated
16 not yet allocated C:\PT8.45\bin\server\WINX86\psae.EXE -CT <DBType> -CS
<ServerName> -CD <DBName> -CO <OPRID> -CP
32 not yet allocated
<Password> -R <RncntlID> -AI <AE Name> -I <Process
64 not yet allocated
Instance>
128 Timings Report to AET file
From a Process Request page.
Method/Built-In detail instead of summary in AET
256 Open Process Scheduler by selecting PeopleTools, Process
Timings Report
Scheduler, and System Process Requests.
512 not yet allocated
1024 Timings Report to tables Locate the Run Control ID of the program you need to
restart.
2048 DB optimizer trace to file
4096 DB optimizer trace to tables To display the details of the failed process, click the Process
Detail link.
AE Trace:
On the Process Request Details page, select Restart
1 Trace Evaluator instructions(not recommended) Request, and click OK.
2 List Evaluator program(not recommended) 203. Which Table Stores the last committed information?
4 Show assignments to variables
PS_AERUNCONTROL Table. Write the below SQL in SQL Action.
204. What should we do when we wanted to Restart AE
from beginning? SELECT
Delete data from PS_AERUNCONTROL table and State T1.FIELD1, T1.FIELD2, T1.FIELD3, T2.FIELD4, T2.FIELD5
Record. FROM PS_TABLE1 T1, PS_TABLE T2
DELETE FROM PS_AERUNCONTROL WHERE %JOIN(COMMON_KEYS, TABLE1 T1, TABLE2 T2)
WHERE OPRID = OPRID Above code Generates SQL by joining TABLE1 and TABLE2
AND RUN_CNTL_ID = RunControlID based on their Common Keys. So the SQL would be
205. What is the by default option set for AE Restart? SELECT
By Default AE programs are Restartable. T1.FIELD1, T1.FIELD2, T1.FIELD3, T2.FIELD4, T2.FIELD5
FROM PS_TABLE1 T1, PS_TABLE T2
WHERE T1.FIELD1 = T2.FEILD1
AND T1.FIELD2 = T2.FIELD2
Meta SQLs
206. About Meta SQLs? %Join (COMMON_FIELDS, TABLE1 T1, and TABLE2 T2)
Generates SQL based on their Common Fields.
Meta SQLs are the SQL Statements which will be
SELECT
automatically changed based on the RDBMS.
T1.FIELD1, T1.FIELD2, T1.FIELD3, T2.FIELD4, T2.FIELD5
For Example:
FROM PS_TABLE1 T1, PS_TABLE T2
A Meta SQL
WHERE T1.FIELD1 = T2.FEILD1
SELECT FIELD1 %Concat FIELD2 From PS_ABC
AND T1.FIELD2 = T2.FIELD2
which gets automatically Converts to AND T1.FIELD3 = T2.FIELD3
SELECT FIELD1 + FIELD2 when the database is SQL Server. AND T1.FIELD4 = T2.FIELD4
SELECT FIELD1 || FIELD2 when the database is DB2.
SELECT FIELD1 || FIELD2 when the database is Oracle. We can also specify the override field list to exclude the fields
207. Why Meta SQLs are required? from dynamic where clause.
As each RDBS has its own syntax, in order to have a %Join(COMMON_FIELDS, TABLE1 T1, TABLE2 T2, T1.FIELD2)
common code which will run across the databases, Meta AND T1.FIELD2 = ‘ABC’
SQLs concept has come up. Dynamic where clause would be
208. What is the difference between SQLs and Meta SQLs? SELECT
SQLS are Platform Dependent where as Meta SQLs are T1.FIELD1, T1.FIELD2, T1.FIELD3, T2.FIELD4, T2.FIELD5
Platform Independent. FROM PS_TABLE1 T1, PS_TABLE T2
209. %Select – Inserts data in to State Record. WHERE T1.FIELD1 = T2.FEILD1
210. %SelectInit – Inserts the data into State Record. And AND T1.FIELD3 = T2.FIELD3
reinitializes the buffer value. AND T1.FIELD4 = T2.FIELD4
211. %Bind – Retrieve data from the State Record. AND T1.FIELD2 = ‘ABC’
212. %Date – Returns the Current Server Date. 228. %InsertSelect – Generates an Insert Statement with
Select. It will not generate Where Clause.
213. %DateIn – Use %DateIn when there is comparison in the
WHERE clause. It converts the date into PeopleSoft Date 229. %Mode – Gives the user action Mode, like add/update…
format. 230. %Execute – Used to execute Oracle PL/SQL Statements.
214. %DateOut – Use %DateOut while Selecting Date in Select Database: SQL Server, Write the below code in SQL Action.
Clause. It converts the Date into PeopleSoft Date format. %Execute(/)
215. %CurrentDateIn – Returns Current System Date used in DECLARE @A SMALLINT
WHERE Clause. SELECT @A = 1 WHILE @A <= 5
BEGIN
216. %CurrentDateOut – Returns Current System Date used INSERT INTO ABC VALUES (@A)
in SELECT Clause. SELECT @A = @A + 1
217. %Concat – Concatenates two fields. END
/
%Select(COMPANY, COUNTRY, DESCR)
SELECT COMPANY, COUNTRY, COMPANY %Concat COUNTRY
FROM PS_INSTALLATION
It returns AE Errors
Company: GBI Country: USA Description: GBIUSA
If there is no State Record Mentioned.
218. %Table – Returns the SQL Table Name. No default State Record exists for program.
Ex: %Table(JOB) returns PS_JOB. When there is a DoSelect Action with no SQL inside.
If the Table is Temporary table and the current process is Application error: no SQL statement defined for DoSelect
having Temporary Table instances then it returns action.
PS_JOBnn Where nn is the Instance Number. When there is a SQL Action with no SQL inside.
219. %TruncateTable – Deletes the data from Temporary Application error: no SQL statement defined for SQL action.
Table.
When we insert 5 digits to a length of 4 digits field.
220. %AeProgram – Returns a currently executing Application
Engine Program Name. Arithmetic overflow error converting numeric to data type
numeric.
221. %AeSection – Returns a currently executing Application
Engine Section Name. Numeric value out of range.
222. %AeStep – Returns a currently executing Application In Call Section, if we not specifying Section name.
Engine Step Name. Error retrieving Application Engine <AE Name>. Component:
223. %AsOfDate – Returns As Of Date. Section.
224. %ProcessInstance – Returns Process Instance.
225. %RunControl – Returns Run Control ID.
226. %SQL – Runs the predefined SQL object. Abends
227. %Join – Generates Where clause dynamically by joining
231. About Abends?
the tables.
Nothing but an abnormal end of the Program.
2 types of Abends are there, Controlled and Uncontrolled. DoSelect will fetch 22222, 33333, and 55555 employees.
A Controlled Abends means that Application Engine exits In First Loop - Inserts 22222 into State Record.
"gracefully" because of a calculated error condition. Executes the SQL Action which updates the Salary with 10%
Some examples of Controlled Abends are: hike for 22222 Employee.
Step Level On Error = Abort. In Second Loop - Inserts 33333 into State Record and then
PeopleCode Action On Return = Abort. updates the Salary.
SQL Action No Rows = Abort. In Third Loop – Inserts 55555 into State Record and then
In these situations (when Application Engine is in control) the Updates the Salary.
Run Status in Process Monitor reads "Error". Then comes out from the DoSelect.
An "uncontrolled" Abends occurs in situations where there is a As the program in Row by Row Processing, it goes to the
memory violation or a user kills a process. In these cases, the database 3 times and updates the Salary.
Run Status in Process Monitor shows "Processing".
Set Processing
Online processing 238. What is Set Processing?
232. About Online Processing? Set processing is nothing but processing set of rows at one
Online Processing can be done thru PeopleCode – time rather than processing each row individually.
CallAppEngine 239. Sample Program for Set Processing?
Program runs quickly, synchronously, and at random times. With Set Processing, AE Program Structure would be
Synchronous means Subsequent process will waits for the MAIN
result. Step1
No commits are issued until the program completes. SQL
UPDATE ABC SET SALARY = (0.10*SALARY) +
Online Programs are not Restartable.
SALARY WHERE DEPTID = ‘BBB’;
Online Programs requires the User involvement.
SQL Action will be executed which updates the Salary for all
Can not Support Parallel Run. the 3 employees at a time.
240. Which Process is efficient – Row by Row or Set
Processing?
Batch Processing Set Processing.
241. What are the SQL Commands mostly useful to
233. About Batch Processing? implement Set Processing?
Batch Processing can be done thru Process Scheduler or A.E Group By and Having Clauses.
Request Page. Complex Joins.
Program run for longer time, asynchronously, and at Sub Queries.
scheduled times.
Asynchronous run means program which runs independently.
Commit Statements are allowed.
Batch Programs can be Restartable. File Layout
Batch Programs runs without the User involvement. 242.
Supports Parallel Run.
Parallel Processing XL to CI
234. What is Parallel Processing? 243. What is the tool used by PeopleSoft before to XL to CI
Process of running multiple instances of the same program utility?
simultaneously. Import Manager.
235. Sample Program for Parallel Processing? 244. What is the use of XL to CI Utility?
Useful to upload the data into PeopleSoft database from
Excel Spreadsheet.
245. What’s the default path of ExcelToCI.xls file?
Row-by-row processing <PS_HOME>\excel directory.
246. How many Columns and Rows Can XL to CI utility
236. What is Row By Row Processing? Supports?
A Single row will be fetched and rest of actions will be 252 Columns and 65,000 Rows.
performed and then next row will be fetched and rest of 247. Is database connectivity required?
actions will be performed and next and so on..
No, As Excel to CI uses HTTP and SOAP Messaging.
Program will fetch the data Row by Row from database and
248. What are required setting in order to use XL to CI?
performs the Subsequent Actions.
Macros need to set to Low or Medium.
237. Sample Program for Row By Row Processing?
User should have the access to ExcelToCI Code via
Assume a table ABC is having EMPLID, DEPTID, and SALARY.
Permission Lists.
If we wanted to give 10% hike to the employees who are
249. What are the Tabs Available in ExcelToCI.xls?
belongs to ‘BBB’ Department.
Coversheet, Connect Information, Template, Data Input,
Staging & Submission.
Component Interface
250. What Is Component Interface?
CI is a PeopleTools Object provides the synchronous Access
to the Components.
251. Once Component Interface created, do we need to
set any Security or directly can we run the CI?
Yes we need to set the permissions.
Open the Permission List, go to Component Interface Tab,
Add newly created CI, and give the permission to the
Standard Methods – Get, Create, Save, Cancel, Find.
252. What are the attributes of the Component Interface?
1. Component Interface Name.
2. Keys.
3. Properties and Collections (Fields and Records).
4. Methods.
253. What are the Keys available?
1.Get Keys: Nothing but the Search Key fields of Search
Record of the Component. We can’t change these Keys.
2.Create Keys: Nothing but the Search Key and Alternate
Search Key fields of Search Record of the Component. We
can remove any of Alternate Search keys that we don’t
want to make available for Searching.
3. Find Keys: These Keys will be created automatically when
the Add Action is allowed for the component. We can’t
change these Keys.
254. What is Property?
Level 0 fields of a Component are nothing but the
Properties.
255. What are the Properties of Component Interface?
1. Standard properties
2. User defined properties
256. What are the Standard Properties?
1. InteractiveMode
2. GetHistoryItems
3. EditHistoryItems
257. How do you login in Correction Mode in CI?
GetHistoryItems and EditHistoryItems should be True.
258. How do you login in Display All Mode in CI?
GetHistoryItems should be True.
259. Get History Items and Edit History items property to
should be set to true.
260. What is a Method?
Performs a very specific function on a Component Interface
at run-time.
261. How many Methods are available?
1. Standard methods
2. User defined methods
262. What are the Standard Methods?
Cancel, Create, Find, Get, Save.
263. About User Defined Methods?
User-defined methods are created in PeopleSoft Application
Designer to provide added functionality to the Component
Interface.
264. How to call the Component Interface?
GetCompIntfc(GetCompIntfc.<CI Name>)
265. What is Item?
266. What is InsertItem?
267. What is ItemNum?
268. What is Session Object?
269.
270.
Do Reach me @
srinivas.shamanthula@yahoo.com
if something needs to be
Corrected or Added.