Reviewing Runtime for PTIADATACONV
This section discusses:
-
Understanding Runtime for PTIADATACONV
-
Querying the PTIA Tables
Understanding Runtime for PTIADATACONV
All runtime information for PTIADATACONV is stored in the following tables:
-
PS_PTIA_DATACONV
-
PS_PTIA_RUNSTATUS
-
PS_PTIA_RUNDETAIL
-
PS_PTIA_RUNCOUNT
The PTIADATACONV Application Engine leverages the Dependency Analysis to optimize the runtime of the data conversion. The runtime of the data conversion is improved in the new PeopleSoft release by running multiple instances of PTIADATACONV in parallel, executing against a single set of dependency information. The optimal number of instances to be initiated will vary.
PTIADATACONV determines which “Root Sections” are able to run and executes them. A Root Section is able to run when all Root Sections that are dependent on it have completed successfully.
In the event that multiple root sections are able to run at the same time, steps that have the largest number of dependent Root Sections and/or Root Sections that have the longest runtime (in a previous run), are given priority.
In the event of failure, the instance of PTIADATACONV that encountered the error will mark the step as “Failed” and stop. All other instances of PTIADATACONV will continue to run. Steps that are dependent on a “Failed” step will be marked as “Blocked” and will not be executed as part of the current run. Upon restarting the process, the “Failed” section and any “Blocked” sections will be executed.
The following list describes the PTIADATACONV program flow:
-
The run is initialized.
This initial phase determines if this is a brand new run or if it is a restart of a previously failed run. If it is a new run, then PTIADATACONV sets up a thread in PS_PTIA_RUNSTATUS.
-
PTIADATACONV performs a simple test to verify that there is work to do.
If there is work to do, then PTIADATACONV runs Data Conversion Application Engine Sections that have not already run. This is a fairly simple Do While loop that counts eligible sections left to run. If there are no more sections left to run, processing stops. The work inside the loop consists of executing a process to check the status of any other thread that is running. If a thread dies, it cannot clean itself up, so one of the other threads has to perform the cleanup. The cleanup mostly consists of setting the status flag in PS_PTIA_DATACONV to “F” for the AE Section that failed.
-
SQLs run to look for work to do.
The SQL object PTIA_FINDSECTIONTORUN finds the next eligible section to run. If the query returns nothing, we execute another SQL object called PTIA_COUNTSECTIONSNOTDONE to count how many Sections are left to run. If PTIA_FINDSECTIONTORUN returns no work to do and PTIA_COUNTSECTIONSNOTDONE returns Sections still need to be run, then there must be a Section already running that must complete before anything else can run. If there is no work to do, the loop issues a pause before the loop completes and executes the next loop.
-
PTIADATACONV performs more housekeeping to reset statuses on successful completion of all Data Conversion Application Engine Sections.
-
A completion message is written to the log file.