Reviewing PTIA Initial Analysis

This section discusses:

  • Understanding Initial Analysis

  • Reviewing Data Conversion Query Parsing

  • Reviewing Custom Data Conversion Code

  • Reviewing Table Usage Information

  • Reviewing Non Parsable SQL

  • Reviewing the Data Conversion Repositories

Understanding Initial Analysis

The first part of the PTIA process is the PTIAANALYSIS Application Engine, also known as the Application Engine Analyzer. PTIAANALYSIS accepts one parameter for the upgrade path, and then queries PS_PTIA_DCAEPGMS to retrieve all the groups and sections for that upgrade path, ordering by group and sequence. Starting with the first group and first sequence, PTIAANALYSIS parses each Application Engine section definition following the flow from step to step and through any nested call sections. As it follows the flow, it inserts rows into the PS_PTIA_ANALYSIS table for each Application Engine Section, Step, and Action it comes across. PTIAANALYSIS maintains a counter as it goes and increments the counter as it writes each Action to the PS_PTIA_ANALYSIS table. By the end of this first task, the PS_PTIA_ANALYSIS table will describe the entire upgrade from top to bottom, from the first Application Engine section in the first Upgrade Group to the last section in the last Upgrade Group. By querying the PS_PTIA_ANALYSIS table and ordering by PTIA_AESTMTSEQ, the whole will be described, including any nested call sections.

It is important to note that the PS_PTIA_ANALYSIS table contains every actual Step in the chosen upgrade path. During the data conversion runtime phase, it is likely that not all these steps will be executed because specific data composition and various application options will prevent some sections or steps from running. With the PTIA process, data composition can affect the data conversion runtime flow, which makes it impossible to predetermine the exact runtime flow the conversion will follow.

The PTIAANALYSIS Application Engine reads the data conversion code for your defined upgrade path (where the path is defined in the PS_PTIA_DCAEPGMS table with PTIA_UPG_CONV_TYPE= “MAIN”).

The Application Engine Analyzer program leverages two PeopleCode functions included with PeopleSoft PeopleTools 8.50 or higher. The two PeopleCode functions are:

  • GetProgText: A function that retrieves a PeopleCode program as text.

  • ResolveMetaSQL: A function that returns a string of SQL text that has had its metasql resolved.

Reviewing Data Conversion Query Parsing

After PTIAANALYSIS determines the upgrade path flow, it traverses the flow again looking at all the different Step Actions to determine which SQL is being executed by that Step. Most action types are straightforward; SQL, Do Select. PeopleCode is the most complicated action type. A Java program parses the PeopleCode and pulls all the SQL executed in the PeopleCode. The results of the action type analysis end up in a table called PS_PTIA_DTLIDSQLS, which stores a reference to PS_PTIA_ANALYSIS, along with the SQL statements associated with each Step Action. In the case of PeopleCode, there may be many rows in the PS_PTIA_DTLIDSQLS table for each PeopleCode reference in PS_PTIA_ANALYSIS. In addition, a second shadow table, called PS_PTIA_DTLIDSQLSR, is also populated during action type analysis. The only difference between PS_PTIA_DTLIDSQLS and PS_PTIA_DTLIDSQLSR is that PS_PTIA_DTLIDSQLSR contains the fully resolved SQL statements. For example, if the original SQL in a Step was:

UPDATE PS_BEN_DEFN_COST SET RATE_TBL_ID = %Substring(%Sql(UPG_HC_221,RATE_TBL_ID),1,4) %Concat ’-2’ WHERE RATE_TYPE=’2’ AND RATE_TBL_ID IN ( SELECT RATE_TBL_ID FROM PS_UPG_BN_RATES WHERE RATE_TYPE=’2’)

Then this would be resolved to platform-specific SQL. In the case of SQL server it would be:

UPDATE PS_BEN_DEFN_COST SET RATE_TBL_ID = SUBSTRING(RTRIM(RATE_TBL_ID),1,4) + ’-2’ WHERE RATE_TYPE=’2’ AND RATE_TBL_ID IN (SELECT RATE_TBL_ID FROM PS_UPG_BN_RATES WHERE RATE_TYPE=’2’)

Each of these SQL statements is further parsed to determine the tables that participate in the query. The results are stored in the PS_PTIA_DTLIDTBLS table. A query can have zero or one target tables. If the query is an INSERT, UPDATE, DELETE, etc, then there will be one target. If the query is a select statement, then there will be no target table. For the previously stated query, you would expect to see 2 rows in the PS_PTIA_DTLIDTBLS table. The first row would be for the PS_BEN_DEFN_COST table with an PTIA_TABLEUSAGE value of T because it is the target table of the query. The second row would be for the PS_UPG_BN_RATES table with an PTIA_TABLEUSAGE value of S because it is a source table in the query.

At this point we have gathered all the information we need about the specific upgrade path to build a dependency model. The dependency model is solely based on which tables are affected by which steps and follows some very simple rules. Most of these rules are inherent in the Upgrade Group model.

Reviewing Custom Data Conversion Code

You can include custom data conversion code in the Initial Analysis and subsequent steps in the PTIA process by adding a row (or rows) to the PS_PTIA_DCAEPGMS table for each custom Application Engine section that is to be executed, where a row is defined as PTIA_UPG_PATH, PTIA_UPG_GROUP, SEQ_NUM, AE_APPLID, AE_SECTION, ACTIVE_FLAG, PTIA_UPG_CONV_TYPE, PTIA_UPG_GROUP_LVL.

Reviewing Table Usage Information

The data conversion analysis process attempts not only to identify the tables that are used in a given Application Engine step, but also how the tables are being used in the context of each step.

This information is stored in the analysis tables and documented in the Table Usage and Action columns of delivered PTIA reports, such as PTIA0001.SQR.

Valid values for the Table Usage column are:

  • S for Data Source

  • T for Data Target

  • X for Unknown

Note:

An X value in the Table Usage column for the PS_PTIA_DUAL, PS_PTIA_COMMON_AET, PS_PTIA_NORECNAME, or PS_PTIA_STATE_AE tables is expected and does not impact the subsequent Dependency Analysis Process.

See Reviewing Dependency Analysis

Valid values for the Action column are:

  • CREATE

  • DELETE

  • DROP

  • INSERT

  • SELECT

  • TRUNCATE

  • UPDATE

  • UPDSTATS

  • UNKNOWN

  • OTHER

A valid value for the action “Unknown” is only applicable to PeopleCode steps and only occurs in instances when the parser encounters syntax such as GETRECORD, GETROWSET, CREATERECORD, or CREATEROWSET, and cannot determine which actions were being done against the variable.

A valid value for the action “Other” occurs in instances when the parser encounters syntax such as the “Invalid SQL Override” or other non-SQL statements such as application function calls.

Reviewing Non Parsable SQL

The data conversion analysis process may mark certain SQL statements as non parsable. This designation refers to SQL statements that the Application Engine Analysis process could not correctly process. When a SQL statement is marked non parsable, there are three options that you can use:

  • Modify the SQL so that the Application Engine Analyzer can process the statement. The following table compares sample non parsable and parsable SQL statements:

    NON PARSABLE SQL PARSABLE SQL

    UPDATE %Table(%BIND(RECNAME)) SET RELATIONSHIP = ’C’ WHERE RELATIONSHIP IN (’S’, ’D’)

    • UPDATE %TABLE(BN_834_MEMBER) SET RELATIONSHIP = ’C’ WHERE RELATIONSHIP IN (’S’, ’D’)

    • UPDATE %TABLE(DEP_BEN_EFF) SET RELATIONSHIP = ’C’ WHERE RELATIONSHIP IN (’S’, ’D’)

    • UPDATE %Table(EMERGENCY_CNTCT) SET RELATIONSHIP = ’C’ WHERE RELATIONSHIP IN (’S’, ’D’)

  • For non parsable SQL statements in PeopleCode, add an override line directly above the non parsable SQL to manually document the Source and Target tables that are in use.

    Note:

    There is no override option for Application Engine SQL steps that are marked as non parsable.

    Note:

    Entering inaccurate or incomplete information in the override statement may result in data conversion sections being run in the incorrect dependent order, which can produce incorrect conversion results, such as data errors.

    Note:

    Tables defined in the override statement require the PS_ prefix.

    Correct = PS_JOB

    Incorrect = JOB

    The following table gives sample override lines for various situations:

    Syntax Sample Override Lines

    When Source and Target tables are explicitly known and static

    For example:

    • REMSQLANALYSIS:T:<Tgt Table>,<Tgt Table>:S:<SRC Table>,<SRC Table>;

    • REMSQLANALYSIS:T::S:<SRC Table>,<SRC Table>;

    • REMSQLANALYSIS:T:<Tgt Table>,<Tgt Table>:S:;

    When Source and/or Target Tables are determined based on a query

    For example:

    • REM SQLANALYSIS:T:%SQL(SQLid [, paramlist]):S:[table name];

    • REM SQLANALYSIS:T:<Tgt Table>,<Tgt Table>:S:%SQL(SQLid [, paramlist]);

    • REM SQLANALYSIS:T:%SQL(SQLid [, paramlist]):S: %SQL(SQLid [, paramlist]);

    • REM SQLANALYSIS:T::S:%SQL(SQLid [, paramlist]);

    • REM SQLANALYSIS:T:%SQL(SQLid [, paramlist]):S:;

    Where:

    SQLid: Specify the name of an existing SQL definition.

    paramlist: Specify a list of arguments for dynamic substitutions at runtime. The first argument replaces all occurrences of %P(1) in the referenced SQL definition, the second argument replaces %P(2), and so forth.

    Note: The paramlist arguments must be static values. Variable values in the parmlist are not permitted.

    Note: The Query is resolved at the time the Data Conversion Analysis is executed. It is NOT resolved during the Data Conversion Runtime.

    Note: The Query must return one or more valid RECNAME values. No other return results are permitted.

    Where there is no Source or Target table to be defined an/or the non parsable SQL is to be excluded from the table and dependency analysis.

    REMSQLANALYSIS:T::S:PS_PTIA_NORECNAME;

    Note: The “REMSQLANALYSIS:T::S:;” syntax is not a valid override and will be marked as “Invalid” by the PTIAANALYSIS Program.

  • Leave the SQL as it is. This results in the non parsable SQL being marked as “dependent” on all steps that exist prior to it, and all steps subsequent to the non parsable SQL become dependent on it.

    Note:

    This will likely result in slowing the runtime of data conversion and is not recommended.

Reviewing the Data Conversion Repositories

The tables in the Data Conversion Analysis repository hold the following data:

  • Step actions stored in execution order.

  • SQL clauses extracted from step actions.

  • Tables featured in SQL clause.

  • Bind variables used in SQL.

Analysis information is stored in the following tables:

  • PS_PTIA_DCAEPGMS

  • PS_PTIA_ANALYSIS

  • PS_PTIA_ANALYSISTX

  • PS_PTIA_DATACONV

  • PS_PTIA_DTLIDSQLS

  • PS_PTIA_DTLIDSQLSR

  • PS_PTIA_DTLIDTBLS

  • PS_PTIA_RUNDEPEND

  • PS_PTIA_SECDEPEND

  • PS_PTIA_SECLISTTMP

  • PS_PTIA_STEPDEPEND

The following Analysis tables make up the PTIA process:

PS_PTIA_DATACONV

The PS_PTIA_DATACONV table is based on the table definition for PS_PTIA_DCAEPGMS. It stores the upgrade Application Engine sections for the chosen upgrade path.

COLUMN DESCRIPTION

PTIA_UPG_PATH

Upgrade Path copied from PS_PTIA_DCAEPGMS

PTIA_DBTYPE

Stores the text equivalent of the standard DBTYPE codes

PTIA_UPG_GROUP

Upgrade Group

PTIA_UPG_GROUP_LVL

Upgrade Group Level

PTIA_UPG_CONV_TYPE

Conversion type: MAIN or DDL

SEQ_NUM

Upgrade Sequence Copied from PS_PTIA_DCAEPGMS

AE_APPLID

Upgrade Application Engine Copied from PS_PTIA_DCAEPGMS

AE_SECTION

Upgrade Application Engine Section Copied from PS_PTIA_DCAEPGMS

ACTIVE_FLAG

Active Flag Copied from PS_PTIA_DCAEPGMS

PTIA_RUNDURATION

Elapsed time for this section to run during data conversion

PTIA_RUNSTATUSFLAG

Run Status Flag (Y-complete, N-not run yet, R-Running, F-Failed)

PTIA_GUID

GUID generated by the Data Conversion runtime engine

PS_PTIA_ANALYSIS

This is the main analysis table. The Application Engine Analyzer (PTIAANALYSIS) writes a row to this table for every Action in each Root Section of the specified upgrade path.

COLUMN DESCRIPTION

PTIA_UPG_PATH

Upgrade Path copied from PS_PTIA_DCAEPGMS

PTIA_DBTYPE

Stores the text equivalent of the standard DBTYPE codes

PTIA_UPG_GROUP

Upgrade Group

PTIA_UPG_GROUP_LVL

Upgrade Group Level

PTIA_UPG_CONV_TYPE

Conversion type: MAIN or DDL

SEQ_NUM

Upgrade Sequence copied from PS_PTIA_DCAEPGMS

PTIA_TOPAEAPPLID

Upgrade Application Engine copied from PS_PTIA_DCAEPGMS

PTIA_TOPAESECTN

Upgrade Application Engine Section copied from PS_PTIA_DCAEPGMS

PTIA_TOPAESTEP

Upgrade Section Step

PTIA_TOPAESEQNUM

Upgrade Section Sequence Number

PTIA_AELEVEL

Nesting level for Call Section

AE_APPLID

Actual Application Engine Program (same as PTIA_TOPAEAPPLID if PTIA_AELEVEL is 1)

AE_SECTION

Actual Section (same as PTIA_TOPAESECTN if PTIA_AELEVEL is 1)

AE_STEP

Actual Step (same as PTIA_TOPAESTEP if PTIA_AELEVEL is 1)

AE_SEQ_NUM

Actual Seq Num (same as PTIA_TOPAESEQNUM if PTIA_AELEVEL is 1)

MARKET

Market

DBTYPE

DBTYPE

AE_DO_SECTION

If Step Action is Call Section, then this is the section to be called

AE_DO_APPL_ID

If Step Action is Call Section, then this is the program to be called

AE_DYNAMIC_DO

Indicates the Call Section is a dynamic call section

STEP_DESCR

Step Description

AE_STMT_TYPE

Action Type e.g. S-SQL, P-PeopleCode, D-DoSelect, H-DoWhen etc

PTIA_STMTTYPENUM

Numeric identified for AE_STMT_TYPE (used for ordering step actions)

PTIA_AESTMTSEQ

Sequence used to order the steps actions for the whole upgrade

AE_REUSE_STMT

Standard Application Engine Reuse Statement flag

AE_DO_SELECT_TYPE

Standard Application Engine Do Select Type

DETAIL_ID

Section.Step.Action identifier used as a key to most PTIA tables

PTIA_INFO1

Extra Information mostly related to FUNCLIB calls

PTIA_INFO2

Extra Information mostly related to FUNCLIB calls

PTIA_INFO3

Extra Information mostly related to FUNCLIB calls

PTIA_INFO4

Extra Information mostly related to FUNCLIB calls

PTIA_INFO5

Extra Information mostly related to FUNCLIB calls

SQLID

For SQL step, the SQLID of the SQL this step action executes

PTIA_STMTDESCR

Description copied from Application Engine Step Description

PTIA_HASPARENTS

This Step has dependencies on other one or more other Steps

PTIA_HASCHILDREN

One or more other Steps have a dependency on this step

PTIA_HASWHERE

The SQL has a where clause – Mostly used by PeopleSoft Development

PS_PTIA_DTLIDSQLS

This table holds a reference to every SQL in the conversion code for the specified upgrade path.

COLUMN DESCRIPTION

PTIA_GUID

GUID generated by the Data Conversion runtime engine

DETAIL_ID

Section.Step.Action identifier used as a key to most PTIA tables

AE_APPLID

Actual Application Engine Program

DBTYPE

DBTYPE

PTIA_UPG_PATH

Upgrade Path copied from PS_PTIA_DCAEPGMS

PTIA_DBTYPE

Text equivalent of the standard DBTYPE codes

PTIA_UPG_CONV_TYPE

Conversion type: MAIN or DDL

PTIA_SQLNUM

SQL Number, for PeopleCode there may be many SQL statements

PTIA_AESTMTLEN

Length of the text of the SQL statement

PTIA_OBJ_TYPE

S-SQL or P-PeopleCode

TABLE_NAME

Main Table in the SQL Statement, Blank if SQL is SELECT with many tables

PTIA_DMLACTION

INSERT, UPDATE, DELETE, SELECT etc

PTIA_LINENUM

Refers to the PeopleCode line number where the SQL is defined

PTIA_SQLPASSDPARSE

Indicates whether SQL parser was able to successfully parse the SQL statement

DESCR254

Description column

PTIA_PARAMCLAUSE

Bind variable used in the SQL

PTIA_INFO1

Extra Information mostly related to FUNCLIB calls

PTIA_INFO2

Extra Information mostly related to FUNCLIB calls

PTIA_INFO3

Extra Information mostly related to FUNCLIB calls

PTIA_INFO4

Extra Information mostly related to FUNCLIB calls

PTIA_INFO5

Extra Information mostly related to FUNCLIB calls

PTIA_CHUNKSEQ

Statement Chunk Sequence

PTIA_TEXTCHUNK

Statement executed by this Step

PS_PTIA_DTLIDSQLSR

This table differs slightly from the PS_PTIA_DTLIDSQLS table in that the SQL statement has been fully resolved into platform-specific SQL. This makes it much easier to see what is happening in the SQL.

COLUMN DESCRIPTION

PTIA_GUID

GUID generated by the Data Conversion runtime engine

DETAIL_ID

Section.Step.Action identifier used as a key to most PTIA tables

AE_APPLID

Actual Application Engine Program

DBTYPE

DBTYPE

PTIA_UPG_PATH

Upgrade Path copied from PS_PTIA_DCAEPGMS

PTIA_DBTYPE

Text equivalent of the standard DBTYPE codes

PTIA_UPG_CONV_TYPE

Conversion type: MAIN or DDL

PTIA_SQLNUM

SQL Number, for PeopleCode there may be many SQL statements

PTIA_CHUNKSEQ

Statement Chunk Sequence

PTIA_TEXTCHUNK

Statement executed by this Step

PS_PTIA_DTLIDTBLS

This table holds a reference to every SQL in the conversion code for the specified upgrade path and which Tables or Records are in use for each piece of SQL.

COLUMN DESCRIPTION

PTIA_GUID

GUID generated by the Data Conversion runtime engine

DETAIL_ID

Section.Step.Action identifier used as a key to most PTIA tables

AE_APPLID

Actual Application Engine Program

PTIA_UPG_PATH

Upgrade Path copied from PS_PTIA_DCAEPGMS

PTIA_DBTYPE

Text equivalent of the standard DBTYPE codes

PTIA_UPG_CONV_TYPE

Conversion type: MAIN or DDL

PTIA_SQLNUM

SQL Number, for peoplecode there may be many SQL statements

RECNAME

Record Name

TABLE_NAME

Associated Table Name

PTIA_TABLEUSAGE

T-Target, S-Source

PTIA_TABLETYPE

R-Record, S-State Record, U-Upgrade Table, V-View, T-TempTable

PTIA_INFO1

Extra Information mostly related to FUNCLIB calls

PTIA_INFO2

Extra Information mostly related to FUNCLIB calls

PTIA_INFO3

Extra Information mostly related to FUNCLIB calls

PTIA_INFO4

Extra Information mostly related to FUNCLIB calls

PTIA_INFO5

Extra Information mostly related to FUNCLIB calls

PS_PTIA_STEPDEPEND

By querying PS_PYIA_DTLIDTBLS and PS_PTIA_ANALYSIS, it is possible to determine which steps have dependencies and what those dependencies are.

COLUMN DESCRIPTION

PTIA_UPG_PATH

Upgrade Path copied from PS_PTIA_DCAEPGMS

PTIA_DBTYPE

Text equivalent of the standard DBTYPE codes

PTIA_UPG_CONV_TYPE

Conversion type: MAIN or DDL

PTIA_P_UPG_GROUP

Parent Data Conversion Group

PTIA_P_UPGGRPLVL

Parent Data Conversion Group Level

PTIA_P_SEQNUM

Parent Application Engine Section Sequence Number

PTIA_P_TOPAEAPPLID

Parent Data Conversion Application Engine Program

PTIA_P_TOPAESECTN

Parent Data Conversion Application Engine Section

PTIA_P_TOPAESTEP

Parent Data Conversion Application Engine Step

PTIA_P_TOPAESEQNUM

Parent Data Conversion Application Engine Step Sequence

PTIA_P_AEAPPLID

Parent Application Engine Program

PTIA_P_AESECTION

Parent Application Engine Section

PTIA_P_AESTEP

Parent Application Engine Step

PTIA_P_AESEQNUM

Parent Application Engine Step Sequence within the Section

PTIA_P_AESTMTSEQ

Parent Application Engine Step Sequence across whole upgrade

PTIA_P_DETAILID

Parent Application Engine Step Detail ID

PTIA_P_SQLNUM

Parent Application Engine Detail ID SQL Sequence

PTIA_C_UPG_GROUP

Child Data Conversion Group

PTIA_C_UPGGRPLVL

Child Data Conversion Group Level

PTIA_C_SEQNUM

Child Application Engine Section Sequence Number

PTIA_C_TOPAEAPPLID

Child Data Conversion Application Engine Program

PTIA_C_TOPAESECTN

Child Data Conversion Application Engine Section

PTIA_C_TOPAESTEP

Child Data Conversion Application Engine Step

PTIA_C_TOPAESEQNUM

Child Data Conversion Application Engine Step Sequence

PTIA_C_AEAPPLID

Child Application Engine Program

PTIA_C_AESECTION

Child Application Engine Section

PTIA_C_AESTEP

Child Application Engine Step

PTIA_C_AESEQNUM

Child Application Engine Step Sequence within the Section

PTIA_C_AESTMTSEQ

Child Application Engine Step Sequence across whole upgrade

PTIA_C_DETAILID

Child Application Engine Step Detail ID

PTIA_C_SQLNUM

Child Application Engine Detail ID SQL Sequence

PTIA_TABLENAME

Common table referenced by the parent and child step

PTIA_P_TABLEUSAGE

Parent table usage T-Target, S-Source

PTIA_C_TABLEUSAGE

Child table usage T-Target, S-Source

PS_PTIA_ SECDEPEND

This table is an aggregation of PS_PTIA_STEPDEPEND to the Section level.

COLUMN DESCRIPTION

PTIA_UPG_PATH

Upgrade Path copied from PS_PTIA_DCAEPGMS

PTIA_DBTYPE

Text equivalent of the standard DBTYPE codes

PTIA_UPG_CONV_TYPE

Conversion type: MAIN or DDL

PTIA_P_UPG_GROUP

Parent Data Conversion Group

PTIA_P_UPGGRPLVL

Parent Data Conversion Group Level

PTIA_P_TOPSEQNUM

Parent Application Engine Section Sequence Number

PTIA_P_TOPAEAPPLID

Parent Data Conversion Application Engine Program

PTIA_P_TOPAESECTN

Parent Data Conversion Application Engine Section

PTIA_P_AESTMTSEQ

Parent Application Engine Step Sequence across whole upgrade

PTIA_C_UPG_GROUP

Child Data Conversion Group

PTIA_C_UPGGRPLVL

Child Data Conversion Group Level

PTIA_C_TOPSEQNUM

Child Application Engine Section Sequence Number

PTIA_C_TOPAEAPPLID

Child Data Conversion Application Engine Program

PTIA_C_TOPAESECTN

Child Data Conversion Application Engine Section

PTIA_C_AESTMTSEQ

Child Application Engine Step Sequence across whole upgrade

PTIA_DEPENDSOURCE

Dependency Rule

PTIA_DEPENDRULE

DEPENDENT or INDEPENDENT

PTIA_EXCLUDEFLAG

Indicates whether this dependency should be excluded from the runtime dependency calculation

PS_PTIA_RUNDEPEND

This table represents the section dependency model. You can query this table for any given data conversion Application Engine Section to determine what it depends on and what depends on it. The runtime data conversion Application Engine (PTIADATACONV) uses this table to determine which sections are eligible to run.

COLUMN DESCRIPTION

PTIA_UPG_PATH

Upgrade Path copied from PS_PTIA_DCAEPGMS

PTIA_DBTYPE

Text equivalent of the standard DBTYPE codes

PTIA_P_UPG_GROUP

Parent Data Conversion Group

PTIA_P_TOPSEQNUM

Parent AE Section Sequence Number

PTIA_P_TOPAEAPPLID

Parent Data Conversion AE Program

PTIA_P_TOPAESECTN

Parent Data Conversion AE Section

PTIA_C_UPG_GROUP

Child Data Conversion Group

PTIA_C_TOPSEQNUM

Child AE Section Sequence Number

PTIA_C_TOPAEAPPLID

Child Data Conversion AE Program

PTIA_C_TOPAESECTN

Child Data Conversion AE Section

PTIA_DEPTH

Dependency Nesting