SAP ABAP Class CL_DB2_EXPLAIN_INSTANCE (DB2 Explain Instance)
Hierarchy
SAP_BASIS (Software Component) SAP Basis Component
   BC-DB-DB2 (Application Component) DB2 for z/OS
     STU2 (Package) CCMS for DB2 for OS/390
Meta Relationship - Using
# Relationship type Using Short Description Created on
1 Inheritance (c INHERITING FROM c_ref)  CL_DBA_EXPLAIN_INSTANCE General Explain Instance 20081215
Properties
Class CL_DB2_EXPLAIN_INSTANCE  
Short Description DB2 Explain Instance    
Super Class CL_DBA_EXPLAIN_INSTANCE General Explain Instance 
Instantiability of a Class 2  Public 
Final    
General Data
Message Class    
Program status     
Category 0   
Package STU2   CCMS for DB2 for OS/390 
Created 20080310   SAP 
Last change 20130531   SAP 
Shared Memory-enabled    
Fixed point arithmetic    
Unicode checks active    
Forward declarations
# Type group / Object type Type Type Description
1 ABAP Type group use (TYPE-POOLS tp)  Type group use (TYPE-POOLS tp)
Interfaces
Class CL_DB2_EXPLAIN_INSTANCE has no interface implemented.
Friends
Class CL_DB2_EXPLAIN_INSTANCE has no friend class.
Attributes
# Attribute Level Visibility Read only Typing Associated Type Initial Value Description Created on
1 ACCELERATORS Instance attribute Private Type reference (TYPE) ACCELERATOR_TABLE Assigned Accelerators 20130823
2 COLDIST_ALV Instance attribute Private Object reference (TYPE REF TO) CL_DB6_ALV DB6: simple ALV abstraction 20100107
3 DETCOST_TABLE Instance attribute Private Type reference (TYPE) DETCOST_TABLE_TYPE 20090108
4 FILTER_TABLE Instance attribute Private Type reference (TYPE) FILTER_TABLE_TYPE 20090123
5 FUNCTION_TABLE Instance attribute Private Type reference (TYPE) FUNCTION_TABLE_TYPE 20090107
6 GENERAL_DETAILS Instance attribute Private Type reference (TYPE) DBAXPLDETOBJ_TAB EXPLAIN: Table of DBAXPLDETOBJ 20090323
7 NEXT_ID Instance attribute Private Type reference (TYPE) I 1 20090323
8 NODE_LOOKUP Instance attribute Private Type reference (TYPE) LOOKUP_TABLE 20081216
9 PGRANGE_TABLE Instance attribute Private Type reference (TYPE) PGRANGE_TABLE_TYPE 20090108
10 PGROUP_TABLE Instance attribute Private Type reference (TYPE) PGROUP_TABLE_TYPE 20090108
11 PLAN_TABLE Instance attribute Private Type reference (TYPE) PLAN_TABLE_TYPE 20090107
12 PREDICAT_TABLE Instance attribute Private Type reference (TYPE) PREDICAT_TABLE_TYPE 20090108
13 PTASK_TABLE Instance attribute Private Type reference (TYPE) PTASK_TABLE_TYPE 20090108
14 QBLOCK_TAB Instance attribute Private Type reference (TYPE) QBLOCK_TABLE 20100107
15 QUERYINFO_TABLE Instance attribute Private Type reference (TYPE) QUERYINFO_TABLE_TYPE 20130823
16 QUERY_TABLE Instance attribute Private Type reference (TYPE) QUERY_TABLE_TYPE 20090108
17 SORTKEY_TABLE Instance attribute Private Type reference (TYPE) SORTKEY_TABLE_TYPE 20090108
18 SORT_TABLE Instance attribute Private Type reference (TYPE) SORT_TABLE_TYPE 20090108
19 STATEMENT_TABLE Instance attribute Private Type reference (TYPE) STATEMENT_TABLE_TYPE 20090107
20 STATFEEDBACK_ALV Instance attribute Private Object reference (TYPE REF TO) CL_DB6_ALV DB6: simple ALV abstraction 20130823
21 STAT_FEEDBACK_TABLE Instance attribute Private Type reference (TYPE) STAT_FEEDBACK_TABLE_TYPE 20130823
22 STRUCT_TABLE Instance attribute Private Type reference (TYPE) STRUCT_TABLE_TYPE 20090108
23 TABLE_LOOKUP Instance attribute Private Type reference (TYPE) DBAXPLM_ITAB_TAB DBA EXPLAIN Model: involved table list 20090113
24 TABSTATS_ALV Instance attribute Private Object reference (TYPE REF TO) CL_DB6_ALV DB6: simple ALV abstraction 20130823
25 VIEWREF_TABLE Instance attribute Private Type reference (TYPE) VIEWREF_TABLE_TYPE 20090108
Methods
# Method Level Visibility Method type Description Created on
1 ADD_COLDIST_TABLES Instance method Private Method 20100107
2 ADD_NODE Instance method Private Method 20081209
3 ADD_STAT_FEEDBACK Instance method Private Method 20130823
4 BUILD_ACCESS_NODE Instance method Private Method 20081209
5 BUILD_FUNCTION_NODE Instance method Private Method 20081215
6 BUILD_INDEX_NODE Instance method Private Method 20081208
7 BUILD_JOIN_NODE Instance method Private Method 20081208
8 BUILD_MULTI_NODE Instance method Private Method 20081215
9 BUILD_QB_NODE Instance method Private Method 20081209
10 BUILD_SORT_NODE Instance method Private Method 20081208
11 CHECK_ACCELERATORS Instance method Private Method check and set number of accelerators 20130823
12 CONSTRUCTOR Instance method Public Constructor 20081208
13 CREATE_COLUMN_OBJECTS Instance method Private Method 20090116
14 CREATE_INDEX_OBJECTS Instance method Private Method 20090116
15 CREATE_PGROUP_OBJECT Instance method Private Method 20090323
16 CREATE_TABLE_OBJECT Instance method Private Method 20090116
17 GET_ACCELERATOR_STATUS Instance method Private Method returns Accelerator status of specified table 20130823
18 GET_PREDICATES Instance method Private Method get argument list object for given operator 20090123
19 GET_TABLES Instance method Public Method 20100107
20 NEW_ID Instance method Private Method 20081209
21 READONLY_STATEMENT Instance method Public Method 20100107
22 READ_EXPLAIN_TABLES Instance method Private Method 20090107
23 SET_GRID_ATTRIBUTES_COLDIST Instance method Private Method set ALV grid attributes 20100107
24 SET_GRID_ATTRIBUTES_STATFEEDBA Instance method Private Method set ALV grid attributes 20130823
25 SET_GRID_ATTRIBUTES_TABSTATS Instance method Private Method set ALV grid attributes 20130823
26 SPLIT_COLVALUE_STRINGS Instance method Private Method 20100107
Events
Class CL_DB2_EXPLAIN_INSTANCE has no event.
Types
# Type Visibility Typing Associated Type Description Created on Type Source
1 ACCELERATORS_LINE Private See coding 20130823 begin of accelerators_line, acceleratorname(128) type c, end of accelerators_line
2 ACCELERATOR_TABLE Private See coding 20130823 accelerator_table type STANDARD TABLE OF accelerators_line WITH DEFAULT KEY
3 COLVALUE_LINE Private See coding 20100107 begin of colvalue_line, colname type db2colnaml, colvalue type xstring, type type db2coltype, CCSID type i, end of colvalue_line
4 COLVALUE_TABLE Private See coding 20100107 colvalue_table type standard table of colvalue_line with default key
5 DETCOST_TABLE_TYPE Private See coding 20090107 detcost_table_type type standard table of DSN_DETCOST_table_line
6 DSN_DETCOST_TABLE_LINE Private See coding 20090107 BEGIN of DSN_DETCOST_table_line, QUERYNO TYPE i, QBLOCKNO TYPE i, PLANNO TYPE I, OPENIO TYPE f, OPENCPU type f, opencost type f, onecomprows type f, imleaf type f, imff type f, imffadj type f, dmcols type f, dmrows type f, rdsrow type f, sncols type i, snrows type f, SNRECSZ type i, "The record size for new table. SNPAGES type f, "The page size for new table. SNRUNS type f, "The number of runs generated for sort of new table. SNMERGES type f, "The number of merges needed during sort. SCCOLS type i, "The number of columns as sort input for Composite table. SCROWS type f, "The number of rows as sort input for Composite Table. SCRECSZ type i, "The record size for Composite table. SCPAGES type f, "The page size for Composite table. SCRUNS type f, "The number of runs generated during sort of composite. SCMERGES type f, "The number of merges needed COMPCARD type f, "The total composite cardinality. COMPCOST type f, "The total cost. UNCERTAINTY type f, "The uncertainty factor of inner table index access. UNCERTAINTY_1T type f, "The uncertainty factor of ONECOMPROWS. IXSCAN_SKIP_DUPS(1) type c, "Whether duplicate index key values are skipped during an index scan IXSCAN_SKIP_SCREEN(1) type c, "Whether key ranges that are disqualified by index screening predicates are skipped during an index scan. EARLY_OUT(1) type c, "Whether fetching from the table stops after the first qualified row. END of DSN_DETCOST_table_line
7 DSN_FILTER_TABLE_LINE Private See coding 20090123 BEGIN of DSN_FILTER_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. PLANNO type i, "The plan number, a number used to identify each miniplan with a query block. COLLID(128) type c, "The collection ID for the package. Applies only to an embedded EXPLAIN statement that is executed from a package or to a statement that is explained when binding a package. ORDERNO type i, "The sequence number of evaluation. Indicates the order in which the predicate is applied within each stage PREDNO type i, "The predicate number, a number used to identify a predicate within a query. STAGE(9) type c, "Indicates at which stage the Predicate is evaluated. The possible values are: "'Matching', 'Screening', 'Stage 1', 'Stage 2' PUSHDOWN(1) type c, "Whether the predicate is pushed down the Index Manager or Data Manager subcomponents for evaluation end of DSN_FILTER_TABLE_LINE
8 DSN_FUNCTION_TABLE_LINE Private See coding 20090107 BEGIN of DSN_FUNCTION_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. QBLOCKNO type i, "A number that identifies each query block within a query. COLLID(128) type c, "The collection ID for the package. Applies only to an embedded EXPLAIN statement that is executed from a package or to a statement that is explained when binding a package. SCHEMA_NAME(128) type c, "The schema name of the function invoked in the explained statement. FUNCTION_NAME(128) type c, "The name of the function invoked in the explained statement. SPEC_FUNC_NME(128) type c, "The specific name of the function invoked in the explained statement. FUNCTION_TYPE(2) type c, "The type of function invoked in the explained statement. Possible values are: "CU Column function "SU Scalar function "TU Table function VIEW_CREATOR(128) type c, "If the function specified in the FUNCTION_NAME column is referenced in a view definition, the creator of the view. Otherwise, blank. VIEW_NAME(128) type c, "If the function specified in the FUNCTION_NAME column is referenced in a view definition, the name of the view. Otherwise, blank. PATH(2048) type c, "The value of the SQL path that was used to resolve the schema name of the function. FUNCTION_TEXT(1500) type c, "The text of the function reference (the function name and parameters). If the function reference is over 100 bytes, this column contains the first 100 bytes. "For functions specified in infix notation, FUNCTION_TEXT contains only the function name. "For example, for a function named /, which overloads the SQL divide operator, if the function reference is A/B, FUNCTION_TEXT contains only /. end of DSN_FUNCTION_table_line
9 DSN_PGRANGE_TABLE_LINE Private See coding 20090107 BEGIN of DSN_PGRANGE_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. TABNO type i, "The table number, a number which uniquely identifies the corresponding table reference within a query. RANGE type i, "The sequence number of the current page range. FIRSTPART type i, "The starting partition in the current page range. LASTPART type i, "The ending partition in the current page range. NUMPARTS type i, "The number of partitions in the current page range. END OF DSN_PGRANGE_table_line
10 DSN_PGROUP_TABLE_LINE Private See coding 20090107 BEGIN of DSN_PGROUP_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. COLLID(128) type c, "The collection ID for the package. Applies only to an embedded EXPLAIN statement that is executed from a package or to a statement that is explained when binding a package. A blank indicates that the column is not applicable. VERSION(122) type c, "The version identifier for the package. Applies only to an embedded EXPLAIN statement executed from a package or to a statement that is explained when binding a package. A blank indicates that the column is not applicable. GROUPID type i, "The parallel group identifier within the current query block. FIRSTPLAN type i, "The plan number of the first contributing mini-plan associated within this parallel group. LASTPLAN type i, "The plan number of the last mini-plan associated within this parallel group. CPUCOST type f, "The estimated total CPU cost of this parallel group in milliseconds. IOCOST type f, "The estimated total I/O cost of this parallel group in milliseconds. BESTTIME type f, "The estimated elapsed time for each parallel task for this parallel group. DEGREE type i, "The degree of parallelism for this parallel group determined at bind time. Max parallelism degree if the Table space is large is 255, otherwise 64. MODE(1) type c, "The parallel mode: 'I' IO parallelism " 'C' CPU parallelism " 'X' multiple CPU SyspleX parallelism (highest level) " 'N' No parallelism REASON type i, "The reason code for downgrading parallelism mode. LOCALCPU type i, "The number of CPUs currently online when preparing the query. TOTALCPU type i, "The total number of CPUs in Sysplex. LOCALCPU and TOTALCPU are different only for the DB2 coordinator in a Sysplex. FIRSTBASE type i, "The table number of the table that partitioning is performed on. LARGETS(1) type c, "'Y' if the TableSpace is large in this group. PARTKIND(1) type c, "The partitioning type: 'L' Logical partitioning " 'P' Physical partitioning GROUPTYPE(3) type c, "Determines what operations this parallel group contains: table Access, Join, or Sort 'A' 'AJ' 'AJS' ORDER(1) type c, "The ordering requirement of this parallel group : "'N' No order. Results need no ordering. "'T' Natural Order. Ordering is required but results already ordered if accessed via index. "'K' Key Order. Ordering achieved by sort. Results ordered by sort key. This value applies only to parallel sort. STYLE(4) type c, "The Input/Output format style of this parallel group. Blank for IO Parallelism. For other modes: "'RIRO' Records IN, Records OUT "'WIRO' Work file IN, Records OUT "'WIWO' Work file IN, Work file OUT RANGEKIND(1) type c,"The range type: 'K' Key range " 'P' Page range NKEYCOLS type i, "The number of interesting key columns, that is, the number of columns that will participate in the key operation for this parallel group. LOWBOUND(40) type c, "The low bound of parallel group. HIGHBOUND(40) type c, "The high bound of parallel group. LOWKEY(40) type c, "The low key of range if partitioned by key range. HIGHKEY(40) type c, "The high key of range if partitioned by key range. FIRSTPAGE(4) type c, "The first page in range if partitioned by page range. LASTPAGE(4) type c, "The last page in range if partitioned by page range. END of DSN_PGROUP_table_line
11 DSN_PREDICAT_TABLE_LINE Private See coding 20090107 BEGIN of DSN_PREDICAT_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. The origin of the value depends on the context of the row: QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. PREDNO type i, "The predicate number, a number used to identify a predicate within a query. TYPE(8) type c, "A string used to indicate the type or the operation of the predicate. The possible values are: "'AND' 'OR' 'EQUAL' 'RANGE' 'BETWEEN' 'IN' 'LIKE' 'NOT LIKE' 'EXISTS 'NOTEXIST' 'SUBQUERY' 'HAVING' 'OTHERS' LEFT_HAND_SIDE(128) type c, "If the LHS of the predicate is a table column (LHS_TABNO > 0), then this column indicates the column name. Other possible values are: "'VALUE' 'COLEXP' 'NONCOLEXP' 'CORSUB' 'NONCORSUB' 'SUBQUERY' 'EXPRESSION' Blanks LEFT_HAND_PNO type i, "If the LHS of the predicate is a table column (LHS_TABNO > 0), then this column indicates the column name. Other possible values are: "'VALUE' 'COLEXP' 'NONCOLEXP' 'CORSUB' 'NONCORSUB' 'SUBQUERY' 'EXPRESSION' Blanks LHS_TABNO type i, "If the LHS of the predicate is a table column, then this column indicates a number which uniquely identifies the corresponding table reference within a query. LHS_QBNO type i, "If the LHS of the predicate is a table column, then this column indicates a number which uniquely identifies the corresponding table reference within a query. RIGHT_HAND_SIDE(128) type c, "If the RHS of the predicate is a table column (RHS_TABNO > 0), then this column indicates the column name. Other possible values are: "'VALUE' 'COLEXP' 'NONCOLEXP' 'CORSUB' 'NONCORSUB' 'SUBQUERY' 'EXPRESSION' Blanks RIGHT_HAND_PNO type i, "If the predicate is a compound predicate (AND/OR), then this column indicates the second child predicate. However, this column is not reliable when the predicate tree consolidation happens. "Use PARENT_PNO instead to reconstruct the predicate tree. RHS_TABNO type i, "If the RHS of the predicate is a table column, then this column indicates a number which uniquely identifies the corresponding table reference within a query. RHS_QBNO type i, "If the RHS of the predicate is a subquery, then this column indicates a number which uniquely identifies the corresponding query block within a query. FILTER_FACTOR type f, "The estimated filter factor. BOOLEAN_TERM(1) type c, "Whether this predicate can be used to determine the truth value of the whole WHERE clause. SEARCHARG(1) type c, "Whether this predicate can be processed by data manager (DM). If it is not, then the relational data service (RDS) needs to be used to take care of it, which is more costly. JOIN(1) type c, "Whether the predicate can be used as a simple join predicate between two tables AFTER_JOIN(1) type c, "Indicates the predicate evaluation phase: "'A' After join "'D' During join "blank Not applicable ADDED_PRED(1) TYPE C, "Whether it is generated by transitive closure. REDUNDANT_PRED(1) type c, "Whether it is a redundant predicate, which means evaluation of other predicates in the query already determines the result that the predicate provides. DIRECT_ACCESS(1) type c, "Whether the predicate is direct access, which means one can navigate directly to the row through ROWID. KEYFIELD(1) type c, "Whether the predicate includes the index key column of the involved table. TEXT(2000) type c, "The transformed predicate text; truncated if exceeds 2000 characters. MARKER(1) type c, "Whether this predicate includes host variables, parameter markers, or special registers. PARENT_PNO type i, "The parent predicate number. If this predicate is a root predicate within a query block, then this column is 0. NEGATION(1) type c, "Whether this predicate is negated via NOT. LITERALS(128) type c, "This column indicates the literal value or literal values separated by colon symbols. CLAUSE(8) type c, "The clause where the predicate exists: "'HAVING ' The HAVING clause "'ON ' The ON clause "'WHERE ' The WHERE clause ORIGIN(1) type c, "Indicates the origin of the predicate. UNCERTAINTY type f, "Describes the uncertainty factor of a predicate#s estimated filter factor END of DSN_PREDICAT_table_line
12 DSN_PTASK_TABLE_LINE Private See coding 20090107 BEGIN OF DSN_PTASK_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. LPTNO type i, "The parallel task number. KEYCOLID type i, "The key column ID (KEY range only). DPSI(1) type c, "Indicates if a data partition secondary index (DPSI) is used. LPTLOKEY(40) type c, "The low key value for this key column for this parallel task (KEY range only). LPTHIKEY(40) type c, "The high key value for this key column for this parallel task (KEY range only). LPTLOPAG(4) type c, "The low page information if partitioned by page range. LPTHIPAG(4) type c, "The high page information if partitioned by page range. LPTLOPG(4) type c, "The lower bound page number for this parallel task (Page range or DPSI enabled only). LPTHIPG(4) type c, "The upper bound page number for this parallel task (Page range or DPSI enabled only). LPTLOPT type i, "The lower bound partition number for this parallel task (Page range or DPSI enabled only). LPTHIPT type i, "The upper bound partition number for this parallel task (Page range or DPSI enabled only). KEYCOLDT type i, "The data type for this key column (KEY range only). KEYCOLPREC type i, "The precision/length for this key column (KEY range only). KEYCOLSCAL type i, "The scale for this key column (KEY range with Decimal datatype only). end of DSN_PTASK_table_line
13 DSN_QUERYINFO_TABLE_LINE Private See coding 20130823 BEGIN OF DSN_QUERYINFO_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. QINAME1(128) type c, "name of accelerator server for TYPE='A' and reason code = 0. QINAME2(128) type c, "location name of the accelerator server for TYPE='A' and REASON_CODE=0. TYPE(8) type c, "The type of the output for this row REASON_CODE type i, "The reason code for the row when TYPE='A'. QI_DATA type string, "description or rewritten query end of DSN_QUERYINFO_table_line
14 DSN_QUERY_TABLE_LINE Private See coding 20090107 BEGIN OF DSN_QUERY_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. TYPE(8) type c, "The type of the data in the NODE_DATA column. QUERY_STAGE(8) type c, "The stage during query transformation when this row is populated. SEQNO type i, "The sequence number for this row if NODE_DATA exceeds the size of its column. NODE_DATA type string, "The XML data containing the SQL statement and its query block, table, and column information. HASHKEY type i, "The hash value of the contents in NODE_DATA HAS_PRED(1) type c, "When NODE_DATA contains an SQL statement, this column indicates if the statement contains a parameter marker literal, non-parameter marker literal, or no predicates. end of DSN_QUERY_table_line
15 DSN_SORTKEY_TABLE_LINE Private See coding 20090107 BEGIN OF DSN_SORTKEY_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. PLANNO type i, "The plan number, a number used to identify each miniplan with a query block. COLLID(128) type c, "The collection ID for the package. Applies only to an embedded EXPLAIN statement that is executed from a package or to a statement that is explained when binding a package. SORTNO type i, "The sequence number of the sort ORDERNO type i, "The sequence number of the sort key EXPTYPE(3) type c, "The type of the sort key. The possible values are: 'COL' 'EXP' 'QRY' TEXT(128) type c, "The sort key text, can be a column name, an expression, or a scalar subquery, or 'Record ID'. TABNO type i, "The table number, a number which uniquely identifies the corresponding table reference within a query. COLNO type i, "The column number, a number which uniquely identifies the corresponding column within a query. Only applicable when the sort key is a column. DATATYPE(18) type c, "The data type of sort key. The possible values are "'HEXADECIMAL' 'CHARACTER' 'PACKED FIELD ' 'FIXED(31)' 'FIXED(15)' 'DATE' 'TIME' 'VARCHAR' 'PACKED FLD' 'FLOAT' 'TIMESTAMP' 'UNKNOWN DATA TYPE' LENGTH type i, "The length of sort key. end of DSN_SORTKEY_table_line
16 DSN_SORT_TABLE_LINE Private See coding 20090107 BEGIN OF DSN_SORT_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. PLANNO type i, "The plan number, a number used to identify each miniplan with a query block. COLLID(128) type c, "The collection ID for the package. Applies only to an embedded EXPLAIN statement that is executed from a package or to a statement that is explained when binding a package. SORTC(5) type c, "Indicates the reasons for sort of the Composite table. Using a bitmap of 'G','J'.'O','U'. "'G' Group By "'O' Order By "'J' Join "'U' Uniqueness SORTN(5) type c, "Indicates the reasons for sort of the Composite table. Using a bitmap of 'G','J'.'O','U'. "'G' Group By "'O' Order By "'J' Join "'U' Uniqueness SORTNO type i, "The sequence number of the sort. KEYSIZE type i, "The sum of the lengths of the sort keys. end of DSN_SORT_table_line
17 DSN_STATEMNT_TABLE_LINE Private See coding 20090107 begin of dsn_statemnt_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. COLLID(128) type c, "The collection ID for the package. Applies only to an embedded EXPLAIN statement that is executed from a package or to a statement that is explained when binding a package. STMT_TYPE(6) type c, "The type of statement being explained. Possible values are: "SELECT INSERT UPDATE MERGE DELETE TRUNCA SELUPD DELCUR UPDCUR COST_CATEGORY(1) type c, "Indicates if DB2 was forced to use default values when making its estimates. Possible values: "A Indicates that DB2 had enough information to make a cost estimate without using default values. "B Indicates that some condition exists for which DB2 was forced to use default values. See the values in REASON to determine why DB2 was unable to put this estimate in cost category A. PROCMS type i, "The estimated processor cost, in milliseconds, for the SQL statement. The estimate is rounded up to the next integer value. The maximum value for this cost is 2147483647 milliseconds, "which is equivalent to approximately 24.8 days. If the estimated value exceeds this maximum, the maximum value is reported. PROCSU type i, "The estimated processor cost, in service units, for the SQL statement. The estimate is rounded up to the next integer value. The maximum value for this cost is 2147483647 service units. "If the estimated value exceeds this maximum, the maximum value is reported. REASON(254) type c, "A string that indicates the reasons for putting an estimate into cost category B. "HAVING CLAUSE A subselect in the SQL statement contains a HAVING clause. "HOST VARIABLES The statement uses host variables, parameter markers, or special registers. "REFERENTIAL CONSTRAINTS Referential constraints of the type CASCADE or SET NULL exist on the target table of a DELETE statement. "TABLE CARDINALITY The cardinality statistics are missing for one or more of the tables that are used in the statement. "TRIGGERS Triggers are defined on the target table of an insert, update, or delete operation. "UDF The statement uses user-defined functions. "MATERIALIZATION Statistics are missing because the statement uses materialized views or nested table expresses. STMT_ENCODE(1) type c, "Encoding scheme of the statement. If the statement represents a single CCSID set, the possible values are: "A ASCII "E EBCDIC "U Unicode "If the statement has multiple CCSID sets, the value is M. TOTAL_COST type f, "The overall estimated cost of the statement. This cost should be used only for reference purposes. end of dsn_statemnt_table_line
18 DSN_STAT_FEEDBACK_LINE Private See coding 20130823 BEGIN OF DSN_STAT_FEEDBACK_LINE, QUERYNO type i, "A number that identifies the statement that is being explained. TBCREATOR(128) type c, "The creator of the table. TBNAME(128) type c, "The name of the table. IXCREATOR(128) type c, "The creator of the index. IXNAME(128) type c, "The name of the index. COLNAME(128) type c, NUMCOLUMNS type i, "The number of columns in the column group. COLGROUPCOLNO(254) type x, TYPE(1) type c, "The type of statistic to collect REASON(8) type c, "The reason that the statistic was recommended end of DSN_STAT_FEEDBACK_LINE
19 DSN_STRUCT_TABLE_LINE Private See coding 20090107 BEGIN OF DSN_STRUCT_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. The origin of the value depends on the context of the row: QBLOCKNO type i, "The query block number, a number used to identify each query block within a query. PARENT type i, "The parent query block number of the current query block in the structure of SQL text; this is the same as the PARENT_QBLOCKNO in PLAN_TABLE. TIMES type f, "The estimated number of rows returned by Data Manager; also the estimated number of times this query block is executed. ROWCOUNT type i, "The estimated number of rows returned by RDS (Query Cardinality). ATOPEN(1) type c, "Whether the query block is moved up for do-at-open processing; 'Y' if done-at-open; 'N': otherwise. CONTEXT(10) type c, "This column indicates what the context of the current query block is. The possible values are: "'TOP LEVEL' 'UNION' 'UNION ALL' 'PREDICATE' 'TABLE EXP' 'UNKNOWN' ORDERNO SMALLINT NOT NULL Not currently used. DOATOPEN_PARENT type i, "The parent query block number of the current query block; Do-at-open parent if the query block is done-at-open, this may be different from the PARENT_QBLOCKNO in PLAN_TABLE. QBLOCK_TYPE(6) type c, "This column indicates the type of the current query block. The possible values are "'SELECT' 'INSERT' 'UPDATE' 'DELETE' 'SELUPD' 'DELCUR' ''UPDCUR' 'CORSUB' 'NCOSUB' 'TABLEX' 'TRIGGR' 'UNION' 'UNIONA' 'CTE' "It is equivalent to QBLOCK_TYPE column in PLAN_TABLE, except for CTE. ORIGIN(1) type c, "Indicates the origin of the query block end of DSN_STRUCT_table_line
20 DSN_VIEWREF_TABLE_LINE Private See coding 20090107 BEGIN OF DSN_VIEWREF_table_line, QUERYNO type i, "A number that identifies the statement that is being explained. VERSION(122) type c, "The version identifier for the package. Applies only to an embedded EXPLAIN statement executed from a package or to a statement that is explained when binding a package. COLLID(128) type c, "The collection ID for the package. Applies only to an embedded EXPLAIN statement that is executed from a package or to a statement that is explained when binding a package. CREATOR(128) type c, "Authorization ID of the owner of the object. NAME(128) type c, "Name of the object. TYPE(1) type c, "The type of the object: "'V' View "'R' MQT that has been used to replace the base table for rewrite "'M' MQT end of DSN_VIEWREF_table_line
21 FILTER_TABLE_TYPE Private See coding 20090123 filter_table_type type standard table of DSN_FILTER_TABLE_LINE
22 FUNCTION_TABLE_TYPE Private See coding 20090107 FUNCTION_table_type type standard table of DSN_FUNCTION_table_line
23 LOOKUP_TABLE Private See coding 20081216 LOOKUP_TABLE type standard table of lookup_table_line
24 LOOKUP_TABLE_LINE Private See coding 20081216 BEGIN OF LOOKUP_TABLE_LINE, Qblockno type i, planno type i, mixopseq type i, parent_id type i, end of lookup_table_line
25 PGRANGE_TABLE_TYPE Private See coding 20090107 PGRANGE_table_type type standard table of DSN_PGRANGE_table_line
26 PGROUP_TABLE_TYPE Private See coding 20090107 PGROUP_table_type type standard table of DSN_PGROUP_table_line
27 PLAN_TABLE_LINE Private See coding 20081209 Begin of PLAN_TABLE_LINE, QUERYNO TYPE I, QBLOCKNO TYPE I, PLANNO TYPE I, METHOD TYPE I, CREATOR(128) TYPE C, TNAME(128) TYPE C, TABNO TYPE I, ACCESSTYPE(2) TYPE C, MATCHCOLS TYPE I, ACCESSCREATOR(128) TYPE C, ACCESSNAME(128) TYPE C, INDEXONLY(1) TYPE C, SORTN_UNIQ(1) TYPE C, SORTN_JOIN(1) TYPE C, SORTN_ORDERBY(1) TYPE C, SORTN_GROUPBY(1) TYPE C, SORTC_UNIQ(1) TYPE C, SORTC_JOIN(1) TYPE C, SORTC_ORDERBY(1) TYPE C, SORTC_GROUPBY(1) TYPE C, TSLOCKMODE(3) TYPE C, TIMESTAMP(16) TYPE C, PREFETCH(1) TYPE C, COLUMN_FN_EVAL(1) TYPE C, MIXOPSEQ TYPE I, COLLID(128) TYPE C, ACCESS_DEGREE TYPE I, ACCESS_PGROUP_ID TYPE I, JOIN_DEGREE TYPE I, JOIN_PGROUP_ID TYPE I, SORTC_PGROUP_ID TYPE I, SORTN_PGROUP_ID TYPE I, PARALLELISM_MODE(1) TYPE C, MERGE_JOIN_COLS TYPE I, CORRELATION_NAME(18) TYPE C, PAGE_RANGE(1) TYPE C, JOIN_TYPE(1) TYPE C, GROUP_MEMBER(24) TYPE C, WHEN_OPTIMIZE(1) TYPE C, QBLOCK_TYPE(6) TYPE C, BIND_TIME(26) TYPE C, PRIMARY_ACCESSTYPE(1) TYPE C, PARENT_QBLOCKNO TYPE I, TABLE_TYPE(1) TYPE C, PARENT_PLANNO TYPE I, MERGC(1) TYPE C, MERGN(1) TYPE C, SCAN_DIRECTION(1) TYPE C, END OF PLAN_TABLE_LINE
28 PLAN_TABLE_TYPE Private See coding 20090107 plan_table_type type standard table of Plan_table_line
29 PREDICAT_TABLE_TYPE Private See coding 20090107 PREDICAT_table_type type standard table of DSN_PREDICAT_table_line
30 PTASK_TABLE_TYPE Private See coding 20090107 PTASK_table_type type standard table of DSN_PTASK_table_line
31 QBLOCK_LINE Private See coding 20100107 begin of qblock_line, qblockno type i, planno type i, node_id type i, end of qblock_line
32 QBLOCK_TABLE Private See coding 20100107 qblock_table type standard TABLE OF qblock_line with default key
33 QUERYINFO_TABLE_TYPE Private See coding 20130823 QUERYINFO_table_type type STANDARD TABLE OF DSN_QUERYINFO_table_line
34 QUERY_TABLE_TYPE Private See coding 20090107 QUERY_table_type type standard table of DSN_QUERY_table_line
35 SORTKEY_TABLE_TYPE Private See coding 20090107 SORTKEY_table_type type standard table of DSN_SORTKEY_table_line
36 SORT_TABLE_TYPE Private See coding 20090107 SORT_table_type type standard table of DSN_SORT_table_line
37 STATEMENT_TABLE_TYPE Private See coding 20090107 statement_table_type type standard table of dsn_statemnt_table_line
38 STAT_FEEDBACK_TABLE_TYPE Private See coding 20130823 STAT_FEEDBACK_table_type type standard table of DSN_STAT_FEEDBACK_line
39 STRUCT_TABLE_TYPE Private See coding 20090107 STRUCT_TABLE_type type standard table of DSN_STRUCT_table_line
40 SYSCOLUMNS_LINE Private See coding 20100107 begin of syscolumns_line, colno type i, name type db2colnaml, type type db2coltype, length type i, CCSID type i, end of syscolumns_line
41 SYSCOLUMNS_TABLE Private See coding 20100107 syscolumns_table type standard table of syscolumns_line
42 VIEWREF_TABLE_TYPE Private See coding 20090107 viewref_table_type type standard table of DSN_VIEWREF_table_line
Method Signatures

Method ADD_COLDIST_TABLES Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing QUERYNO Call by reference Type reference (TYPE) I 20100522
2 Importing TABLE_OBJECT Call by reference Object reference (TYPE REF TO) CL_DBA_XPLM_TABLE DBA EXPLAIN Model: Table 20100107
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20100107

Method ADD_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing NODE Call by reference Object reference (TYPE REF TO) IF_DBA_EXPLAIN_NODE Explain node interface for JNet XML generation 20081209
2 Importing NODE_ID Call by reference Type reference (TYPE) I 20081209
3 Importing PARENT_ID Call by reference Type reference (TYPE) I 20081209

Method ADD_NODE on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method ADD_STAT_FEEDBACK Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing TABLE_OBJECT Call by reference Object reference (TYPE REF TO) CL_DBA_XPLM_TABLE DBA EXPLAIN Model: Table 20130823
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20130823

Method BUILD_ACCESS_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning NODE_ID Value transfer Type reference (TYPE) I 20081215
2 Importing PARENT_ID Call by reference Type reference (TYPE) I 20081215
3 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20081215
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20090313

Method BUILD_FUNCTION_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning NODE_ID Value transfer Type reference (TYPE) I 20081215
2 Importing PARENT_ID Call by reference Type reference (TYPE) I 20081215
3 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20081215

Method BUILD_FUNCTION_NODE on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method BUILD_INDEX_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning NODE_ID Value transfer Type reference (TYPE) I 20081215
2 Importing PARENT_ID Call by reference Type reference (TYPE) I 20081215
3 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20081215
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20090313

Method BUILD_JOIN_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning NODE_ID Value transfer Type reference (TYPE) I 20081211
2 Importing PARENT_ID Call by reference Type reference (TYPE) I 20081211
3 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20081211

Method BUILD_JOIN_NODE on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method BUILD_MULTI_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning NODE_ID Value transfer Type reference (TYPE) I 20081215
2 Importing PARENT_ID Call by reference Type reference (TYPE) I 20081215
3 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20081215

Method BUILD_MULTI_NODE on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method BUILD_QB_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing I_PARENT_ID Call by reference Type reference (TYPE) I 20100107
2 Importing I_PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20100107
3 Importing I_RES_ID Call by reference Type reference (TYPE) ABAP_BOOL 20100107
4 Returning R_NODE_ID Value transfer Type reference (TYPE) I 20100107

Method BUILD_QB_NODE on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method BUILD_SORT_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing BRANCH Call by reference Type reference (TYPE) C 20090209
2 Returning NODE_ID Value transfer Type reference (TYPE) I 20081215
3 Importing PARENT_ID Call by reference Type reference (TYPE) I 20081215
4 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20081215

Method BUILD_SORT_NODE on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method CHECK_ACCELERATORS Signature

Method CHECK_ACCELERATORS on class CL_DB2_EXPLAIN_INSTANCE has no parameter.
Method CHECK_ACCELERATORS on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method CONSTRUCTOR Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing SYS_REF Call by reference Object reference (TYPE REF TO) CL_DB6_SYS Database Connection 20081215
2 Importing TIMESTAMP Call by reference Type reference (TYPE) DB2TIMESTRING DB2-z/OS: General purpose timestamp in DB2 hex format 20081209
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20090313

Method CREATE_COLUMN_OBJECTS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning COLUMNS Value transfer Type reference (TYPE) DBAXPLM_ICOL_TAB DBA EXPLAIN Model: Table of DBAXPLM_ICOL 20090116
2 Importing TABLE_CREATOR Call by reference Type reference (TYPE) STRING 20090116
3 Importing TABLE_NAME Call by reference Type reference (TYPE) STRING 20090116
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20090313

Method CREATE_INDEX_OBJECTS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning INDEXES Value transfer Type reference (TYPE) DBAXPLM_IIX_TAB DBA EXPLAIN Model: involved index list 20090116
2 Importing TABLE_COLUMNS Call by reference Type reference (TYPE) DBAXPLM_ICOL_TAB DBA EXPLAIN Model: Table of DBAXPLM_ICOL 20090122
3 Importing TABLE_CREATOR Call by reference Type reference (TYPE) STRING 20090116
4 Importing TABLE_NAME Call by reference Type reference (TYPE) STRING 20090116
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20090313

Method CREATE_PGROUP_OBJECT Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing PGROUP_ID Call by reference Type reference (TYPE) I 20090323
2 Returning PGROUP_OBJECT Value transfer Object reference (TYPE REF TO) CL_DBA_XPLM_NODEDETAILS EXPLAIN detail table 20090323
3 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20090323

Method CREATE_PGROUP_OBJECT on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method CREATE_TABLE_OBJECT Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE 20100522
2 Returning TABLE_OBJ Value transfer Object reference (TYPE REF TO) CL_DBA_XPLM_TABLE DBA EXPLAIN Model: Table 20090116
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20090313

Method GET_ACCELERATOR_STATUS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing ACCELNAME Call by reference Type reference (TYPE) STRING 20130823
2 Importing CREATOR Call by reference Type reference (TYPE) STRING DB2 creator name 20130823
3 Returning STATUS Value transfer Type reference (TYPE) STRING 20130823
4 Importing TBNAME Call by reference Type reference (TYPE) STRING DB2 long table name 20130823
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20130823

Method GET_PREDICATES Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning PREDICATES Value transfer Type reference (TYPE) DBAXPLPREDOBJ_TAB operator predicates 20090123
2 Importing PT_LINE Call by reference Type reference (TYPE) PLAN_TABLE_LINE Natural number 20090123

Method GET_PREDICATES on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method GET_TABLES Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning TABLE_LIST Value transfer Type reference (TYPE) DB2_T_TABLESPECL Table of DB2 Table Identifiers 20100107

Method GET_TABLES on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method NEW_ID Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning ID Value transfer Type reference (TYPE) I 20081209
2 Importing PARENT_ID Call by reference Type reference (TYPE) I 20100522

Method NEW_ID on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method READONLY_STATEMENT Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning IS_READONLY Value transfer Type reference (TYPE) ABAP_BOOL 20100107

Method READONLY_STATEMENT on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method READ_EXPLAIN_TABLES Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing TIMESTAMP Call by reference Type reference (TYPE) DB2TIMESTRING DB2-z/OS: General purpose timestamp in DB2 hex format 20090107
# Exception Resumable Description Created on
1 CX_SQL_EXCEPTION Exception Class for SQL Error 20090107

Method SET_GRID_ATTRIBUTES_COLDIST Signature

Method SET_GRID_ATTRIBUTES_COLDIST on class CL_DB2_EXPLAIN_INSTANCE has no parameter.
Method SET_GRID_ATTRIBUTES_COLDIST on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method SET_GRID_ATTRIBUTES_STATFEEDBA Signature

Method SET_GRID_ATTRIBUTES_STATFEEDBA on class CL_DB2_EXPLAIN_INSTANCE has no parameter.
Method SET_GRID_ATTRIBUTES_STATFEEDBA on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method SET_GRID_ATTRIBUTES_TABSTATS Signature

Method SET_GRID_ATTRIBUTES_TABSTATS on class CL_DB2_EXPLAIN_INSTANCE has no parameter.
Method SET_GRID_ATTRIBUTES_TABSTATS on class CL_DB2_EXPLAIN_INSTANCE has no exception.

Method SPLIT_COLVALUE_STRINGS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing COLGROUPSTRING Call by reference Type reference (TYPE) XSTRING 20100107
2 Returning COLVALUES Value transfer Type reference (TYPE) COLVALUE_TABLE 20100107
3 Importing HEX_STRING Call by reference Type reference (TYPE) XSTRING 20100107
4 Importing NUMCOLUMNS Call by reference Type reference (TYPE) I Natural number 20130823
5 Importing SYSCOLUMNS_LOOKUP Call by reference Type reference (TYPE) SYSCOLUMNS_TABLE 20100107

Method SPLIT_COLVALUE_STRINGS on class CL_DB2_EXPLAIN_INSTANCE has no exception.
History
Last changed by/on SAP  20130531 
SAP Release Created in 720