Problem:
Unable to retrieve Application Engine step
Solution:
State record field that is used in program is not present in the state record.
Problem:
Unable to retrieve Application Engine step
Solution:
State record field that is used in program is not present in the state record.
Exit(0) – Terminates the current PeopleCode Action in application engine.
Exit(1) – Terminates the current Step in application engine.
Avoid rowset processing in an Application Engine program. Loading data into a rowset can use a significant amount of memory, approximated by the following formula:
mem = nrows * (row overhead + nrecords * ( rec overhead + nfields * ( field overhead) + average cumulative fielddata))
where
· mem is the amount of memory required to store the rowset.
· nrows is the number of rows.
· row overhead is the overhead per row.
· nrecords is the number of records per row.
· rec overhead is the record overhead (approximately 40 bytes).
· nfields is the number of fields in the record.
· field overhead is the overhead per field (approximately 80 bytes).
· average cumulative fielddata is the average amount of data per field.
Using this formula, a rowset containing 500,000 rows with one record per row, 50 fields, and 200 bytes per field would require approximately 2.3 gigabytes of memory.
Application Engines can be traced on two ways.
1. On The PIA.
2. On the Process Scheduler and Application Server.
Trace Application Engines On The PIA:
On the PIA, we can activate tracing for a particular Application Engine.
When activating tracing on the Client or on the Process Scheduler, any Application Engine run will generate a trace file.
Suggested Process Scheduler Trace Setting:
-TRACE 391- TOOLSTRACESQL 143 -TOOLSTRACEPC 1996
Go to the ‘Override Options’ tab. Set the ‘Parameter List’ option to ‘Append’ and add the tracing flags as explained below.
Tracing Options:
Application Engine tracing:
Add the sum of all the options you want to use at the end of the parameter list and precede the number by ‘–TRACE + a space’. For example:
-TRACE 391
Here is the list of options and associated numbers for each option:
1 Initiates the Application Engine Step trace
2 Initiates the Application Engine SQL trace
4 Trace dedicated Temp Table Allocation to AET file
128 Initiates the Statement Timings trace to file, which is similar to the COBOL timings trace to file
256 Initiates the PeopleCode Detail to the file for the Timings trace
1024 Initiates the Statement Timings trace, but, instead of writing to the trace file, this trace stores the results in the following tables: PS_BAT_TIMINGS_LOG and PS_BAT_TIMINGS_DTL
2048 Adding this value requests a database optimizer trace file
4096 Requests a database optimizer to be inserted in the Explain Plan Table of the current database
8192 This value sets a trace for Integration Broker transform programs
To turn traces on, sum all the options you want to use and enter the results at the end of the parameter list and precede the number by ‘–TRACE + a space’ as shown above. For example, you should use ‘391’ (1+2+4+128+256) to trace what is shown in bold above.
SQL tracing:
Add the sum of all the options you want to use at the end of the parameter list and precede the number by ‘–TOOLSTRACESQL + a space’. For example:
-TRACE 391 -TOOLSTRACESQL 143
Here is the list of options and associated numbers for each option:
1 Trace SQL statements
2 Trace SQL statement variables
4 Trace SQL connect, disconnect, commit and rollback
8 Show fetched rows (indicates that it occurred, not data)
16 Show all other API calls except ssb
32 Set Select Buffers (identifies the attributes of columns to be selected).
64 Show database API specific calls
128 Show COBOL statement timings
256 Show Sybase bind information
512 Show Sybase fetch information
4096 Show manager information
8192 Show Mapcore information
To turn traces on, sum all the options you want to use and enter the results at the end of the parameter list and precede the number by ‘–TOOLSTRACESQL + a space’ as shown above. For example, you should use ‘135’ (1+2+4+128) to trace what is shown in bold above.
PeopleCode tracing:
Add the sum of all the options you want to use at the end of the parameter list and precede the number by ‘–TOOLSTRACEPC + a space’. For example:
-TRACE 391 -TOOLSTRACEPC 1996
or
-TRACE 391 -TOOLSTRACESQL 135 -TOOLSTRACEPC 1996
Here is the list of options and associated numbers for each option:
1 Trace instructions
2 List the program
4 Show assignments to variables
8 Show fetched values
16 Show stack
64 Trace start of programs
128 Trace external function calls
256 Trace internal function calls
512 Show parameter values
1024 Show function return values
2048 Trace each statement in program
To turn traces on, sum all the options you want to use and enter the results at the end of the parameter list and precede the number by ‘–TOOLSTRACEPC + a space’ as shown above. For example, you should use ‘2012’ (4+8+16+64+128+256+512+1024) to trace what is shown in bold above.
NOTE: DO NOT FORGET TO TURN TRACING OFF by setting the ‘Parameter List’ option to ‘None’ in the ‘Processes’ component – ‘Override Options’ tab.
The following code can be used to schedule App Engine Through PeopleCode.
Local ProcessRequest &MYRQST;
&MyAppName = "TEST_AE";
&MYRQST = CreateProcessRequest("Application Engine", &MyAppName);
&MYRQST.RunControlID = "TEST";
&MYRQST.RunLocation = "PSUNX";
&MYRQST.Schedule();
If &MYRQST.Status = 0 Then /* if Schedule status is success */
End-If;