Go to Home Page
Questions?
Call 1-800-572-5517
 
  Go to Home Page  
  See all products
  See price schedules
  See manuals, tutorials, articles
  Download a free 30-day trial
  See user testimonials
  About Pacific Systems Group
 
 
SMF Tools
  See SMF Record Layouts
  See Sample SMF Reports
  Learn How to Export SMF Data
  Download Free SMF Reporting Software (30 days)
 
One of the greatest SMF record parsing programming languages I've ever seen. Chief, Large Systems Services Branch, NIH
  Choose Spectrum Writer to add 4GL to your product
  Free 60-Page Book (PDF) - How to Make an SMF Report
Spectrum DCOLLECT Reporter - the 4GL DCOLLECT Report Writer.

Spectrum SMF Writer - the 4GL SMF Report Writer.

SMF Type 102 Record

This table shows the record layout for type 102 SMF records
(DB2 (V7) Performance, Audit, and Monitor).

List of other SMF record layouts available.
List of sample SMF reports.

Purpose: DATABASE 2 (DB2) writes record type 102 to record performance information.


It's easy to report on SMF 102 data! (Jump to sample reports)

SMF Spectrum Writer
We have a low-cost 4GL report writer especially for SMF files. It's called Spectrum SMF Writer.

Spectrum SMF Writer handles the difficult SMF record parsing for you automatically. You just specify which fields you want to see.

Spectrum SMF Writer also converts the arcane date and time fields and reformats them into an attractive report.

Plus, Spectrum SMF Writer can export SMF data as comma delimited files to use on your PC.
 
Try It FREE Now!

The Spectrum Writer definitions for the SMF type 102 record below are based on the description provided by IBM in its "MVS Systems Management Facilities (SMF)" manual and/or DSECTs mapped by its Assembler macros.

 

Spectrum SMF Writer
File Definition for Type 102 SMF Records
DB2 (V7) Performance, Audit, and Monitor

***********************************************************************
*          SPECTRUM SMF WRITER -- FILE DEFINITION STATEMENTS          *
*  SMF TYPE 102 RECORD - "DB2 (V7) PERFORMANCE, AUDIT, AND MONITOR"   *
***********************************************************************
OPTION: MISSOFFSET /* TREAT OFFSET ERRORS (99999) LIKE MISSING DATA */
OPTION: STCKADJ(0) /* NO GMT TO LOCAL CONVERSION - DURATIONS*/

**********************************************************************
* SMF  102 DB2 PERFORMANCE/SERVICEABILITY RECORD SECTION MAPPING V7  *
*(SEE SYSTEM PLANNING AND ADMINISTRATION GUIDE FOR ADDITIONAL DETAIL)*
**********************************************************************
*   DSECT   MACRO      *  DESCRIPTION OF SECTIONS IN RECORD          *
*                                                                    *
*  NOTE: FIELDS DEFINED AS CHARACTER MAY CONTAIN HEX DATA            *
*--------------------------------------------------------------------*
*   SM102   DSNDQWSP   *  SMF HEADER SECTION                         *
*--------------------------------------------------------------------*
*                      * INDIVIDUAL IFCID FOLLOWS
*                      *
*   QWT0    DSNDQWT0   *  SELF DEFINING SECTION - NOTE: USE OFFSETS
*                      *   IN QWT0 TO GET TO THE FOLLOWING SECTIONS
*                      *   BECAUSE THEIR EXACT POSITION VARIES
*--------------------------------------------------------------------
*                      * FOLLOWING SECTIONS BEGIN ON A WORD BOUNDARY
*                      * PRODUCT SECTION. THIS SECTION NORMALLY
*                      * APPEARS AT THE END OF RECORD.
*   QWHS    DSNDQWHS   *   STANDARD HEADER ALWAYS APPEARS
*    QWHC   DSNDQWHC   *    CORRELATION HEADER MAY APPEAR
*    QWHT   DSNDQWHT   *    TRACE HEADER MAY APPEAR
*    QWHU   DSNDQWHU   *    CPU  HEADER MAY APPEAR
*    QWHD   DSNDQWHD   *    DISTRIBUTED HEADER MAY APPEAR
*    QWHA   DSNDQWHA   *    DATA SHARING HEADER MAY APPEAR
*                      *
*                      *NOTE: THIS MACRO MAPS MANY IFCIDS.
*                      *      ONLY DATA FOR ONE IFCID IS CONTAINED
*                      *      IN THE RECORD.
*   QW00    DSNDQW00   *   IFC ID  0004 - 0057
*   QW01    DSNDQW01   *   IFC ID  0058 - 0139
*   QWPZ    DSNDQWPZ   *   IFC ID  0106
*   QW02    DSNDQW02   *   IFC ID  0140 - 200
*   QW03    DSNDQW03   *   IFC ID  0201 - 0249   (EXCEPT 202, 239)
*   QW04    DSNDQW04   *   IFC ID  0250 - UP
********************************************************************
*
FLD: SM102    LEN(1)
FLD: QWSP     LEN(4) TYPE(BIN) DISP(0)
*/*****************************************************************/
*/*       SMF COMMON HEADER MAPPING MACRO FOR PERFORMANCE SMF 102 */
*/*****************************************************************/
FLD: SM102BKE LEN(4) DISP(0)   /*END OF BLOCK ADDRESS WHEN COLLECTING*/
*                                 DATA                               */
FLD: SM102LEN LEN(2) DISP(0)      /*SM102 TOTAL LENGTH*/
FLD: SM102SGD LEN(2) DISP(2)      /*ZZ BYTES*/
FLD: SM102FLG LEN(1) DISP(4)      /*SYSTEM INDICATOR*/
FLD: SM102RTY LEN(1) DISP(5)      /*RECORD TYPE X'66'*/
FLD: SM102TME LEN(4) TYPE(B-SECS) DISP(6) DEC(2)
                                  /*TIME SMF MOVED RECORD*/
FLD: SM102DTE TYPE(P-CYYDDD) DISP(10)         /*DATE SMF MOVED RECORD*/
FLD: SM102SID LEN(4) DISP(14)     /*SYSTEM ID (SID)*/
FLD: SM102SSI LEN(4) DISP(18)     /*SUBSYSTEM ID*/
FLD: SM102STF LEN(1) DISP(22)     /*RESERVED*/
FLD: SM102RI  LEN(1) DISP(23)     /*RESERVED*/
FLD: SM102SEQ LEN(4) DISP(24)     /*RESERVED*/
FLD: SM102BUF LEN(4) DISP(24)     /*TEMPORARY POINTER TO BUFFER AREA*/
FLD: SM102END LEN(1) DISP(28)    /*START OF THE SELF DEFINING SECTION*/
*
***********************************************************************
**** QWT0     DSECT                                                     
***********************************************************************

FLD: QWT0     DISP(0) LEN(1) OFFSET(28)
*
* /*             TRACE SELF DEFING SECTION MACRO                     */
*
* /*  PRODUCT SECTION FOR DATA BASE STATISTICS CONTAINS THE
*       STANDARD HEADER MAPPED BY DSNDQWHS
*
*    THE NUMBER OF DATA SECTIONS IS VARIABLE AND INDICATED IN
*       THE STANDARD HEADER (QWHSNSDA)                               */
*
FLD: QWT02PSO LEN(4) TYPE(BIN) DISP(0)
                                  /*OFFSET TO THE PRODUCT SECTION*/
FLD: QWT02PSL LEN(2) TYPE(BIN) DISP(4)
                                  /*LENGTH OF THE PRODUCT SECTION*/
FLD: QWT02PSN LEN(2) TYPE(BIN) DISP(6)   /*NUMBER OF PRODUCT SECTIONS*/
FLD: QWT02R1O LEN(4) TYPE(BIN) DISP(8)   /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R1L LEN(2) TYPE(BIN) DISP(12)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R1N LEN(2) TYPE(BIN) DISP(14)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02R2O LEN(4) TYPE(BIN) DISP(16)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R2L LEN(2) TYPE(BIN) DISP(20)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R2N LEN(2) TYPE(BIN) DISP(22)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02R3O LEN(4) TYPE(BIN) DISP(24)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R3L LEN(2) TYPE(BIN) DISP(28)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R3N LEN(2) TYPE(BIN) DISP(30)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02R4O LEN(4) TYPE(BIN) DISP(32)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R4L LEN(2) TYPE(BIN) DISP(36)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R4N LEN(2) TYPE(BIN) DISP(38)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02R5O LEN(4) TYPE(BIN) DISP(40)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R5L LEN(2) TYPE(BIN) DISP(44)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R5N LEN(2) TYPE(BIN) DISP(46)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02R6O LEN(4) TYPE(BIN) DISP(48)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R6L LEN(2) TYPE(BIN) DISP(52)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R6N LEN(2) TYPE(BIN) DISP(54)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02R7O LEN(4) TYPE(BIN) DISP(56)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R7L LEN(2) TYPE(BIN) DISP(60)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R7N LEN(2) TYPE(BIN) DISP(62)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02R8O LEN(4) TYPE(BIN) DISP(64)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R8L LEN(2) TYPE(BIN) DISP(68)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R8N LEN(2) TYPE(BIN) DISP(70)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02R9O LEN(4) TYPE(BIN) DISP(72)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02R9L LEN(2) TYPE(BIN) DISP(76)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02R9N LEN(2) TYPE(BIN) DISP(78)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02RAO LEN(4) TYPE(BIN) DISP(80)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02RAL LEN(2) TYPE(BIN) DISP(84)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02RAN LEN(2) TYPE(BIN) DISP(86)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02RBO LEN(4) TYPE(BIN) DISP(88)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02RBL LEN(2) TYPE(BIN) DISP(92)  /*LENGTH OF THE DATA SECTION*/
FLD: QWT02RBN LEN(2) TYPE(BIN) DISP(94)     /*NUMBER OF DATA SECTIONS*/
FLD: QWT02RCO LEN(4) TYPE(BIN) DISP(96)  /*OFFSET TO THE DATA SECTION*/
FLD: QWT02RCL LEN(2) TYPE(BIN) DISP(100) /*LENGTH OF THE DATA SECTION*/
FLD: QWT02RCN LEN(2) TYPE(BIN) DISP(102)    /*NUMBER OF DATA SECTIONS*/
FLD: QWT02RDO LEN(4) TYPE(BIN) DISP(104) /*OFFSET TO THE DATA SECTION*/
FLD: QWT02RDL LEN(2) TYPE(BIN) DISP(108) /*LENGTH OF THE DATA SECTION*/
FLD: QWT02RDN LEN(2) TYPE(BIN) DISP(110)    /*NUMBER OF DATA SECTIONS*/
FLD: QWT02REO LEN(4) TYPE(BIN) DISP(112) /*OFFSET TO THE DATA SECTION*/
FLD: QWT02REL LEN(2) TYPE(BIN) DISP(116) /*LENGTH OF THE DATA SECTION*/
FLD: QWT02REN LEN(2) TYPE(BIN) DISP(118)    /*NUMBER OF DATA SECTIONS*/
FLD: QWT02RFO LEN(4) TYPE(BIN) DISP(120)
                                /*OFFSET TO THE DATA SECTION TU3100IF*/
FLD: QWT02RFL LEN(2) TYPE(BIN) DISP(124)
                                /*LENGTH OF THE DATA SECTION TU3100IF*/
FLD: QWT02RFN LEN(2) TYPE(BIN) DISP(126)
                                  /*NUMBER OF DATA SECTIONS TU3100IF*/
FLD: QWT02RGO LEN(4) TYPE(BIN) DISP(128) /*OFFSET TO THE DATA SECTION*/
FLD: QWT02RGL LEN(2) TYPE(BIN) DISP(132) /*LENGTH OF THE DATA SECTION*/
FLD: QWT02RGN LEN(2) TYPE(BIN) DISP(134)    /*NUMBER OF DATA SECTIONS*/
FLD: QWT02END LEN(1) DISP(136)    /*END OF THE SELF DEFINING SECTION*/
*
***********************************************************************
**** QWHS     DSECT                                                     
***********************************************************************

COMP: QWHS_OFFSET =
           WHEN(SM102RTY=102 AND QWT02PSN > 0) ASSIGN(QWT02PSO)
           ELSE                                ASSIGN(99999)
FLD: QWHS     DISP(0) LEN(1) OFFSET(QWHS_OFFSET)
*
*
***********************************************************************
***                                                                  **
*** INSTRUMENTATION STANDARD HEADER DATA IN PRODUCT SECTION          **
***                                                                  **
***********************************************************************
*
FLD: QWHSLEN  LEN(2) TYPE(BIN) DISP(0)
                                  /*LENGTH OF THE STANDARD HEADER*/
FLD: QWHSTYP  LEN(1) DISP(2)      /*HEADER TYPE*/
*
*  **              HEADER TYPE CONSTANTS                             **
COMP: QWHSHS01 = 1                /*..STANDARD HEADER*/
COMP: QWHSHC02 = 2                /*..CORRELATION HEADER*/
COMP: QWHSHT04 = 4                /*..TRACE HEADER*/
COMP: QWHSHU08 = 8                /*..CPU HEADER*/
COMP: QWHSHD16 = 16               /*..DISTRIBUTED HEADER*/
COMP: QWHSHA32 = 32               /*..DATA SHARING HEADER*/
FLD: QWHSRMID LEN(1) DISP(3)      /*RESOURCE MANAGER ID*/
FLD: QWHSIID  TYPE(HALF) DISP(4)  /*IFCID*/
FLD: QWHSRELN LEN(2) DISP(6)      /*RELEASE NUMBER AREA*/
FLD: QWHSNSDA LEN(1) TYPE(BIN) DISP(6)
                                  /*NUMBER OF SELF DEFINING AREAS*/
*
FLD: QWHSRN   LEN(1) DISP(7)      /*RELEASE INDICATOR NUMBER HEX*/
*
FLD: QWHSACE  LEN(4) TYPE(BIN) DISP(8)
                                  /*ACE ADDRESS DISPATCH UNIT ADDRESS*/
FLD: QWHSSSID LEN(4) DISP(12)     /*SUBSYSTEM NAME*/
FLD: QWHSSTCK TYPE(STCKTIME) DISP(16)   /*STORE CLOCK VALUE OF HEADER*/
*                                 For data sharing, this is the sysplex
*                                 timer value.
*
* *********************************************************************
* * NOTE- THE FOLLOWING SEQUENCE NUMBERS ARE UNIQUE WITHIN A SINGLE   *
* * SUBSYSTEM INSTANCE AND ARE INITIALIZED TO ZERO ON RESTART.        *
* * BECAUSE OF MP CONSIDERATIONS THE NUMBERS MAY NOT ALWAYS BE        *
* * IN ASCENDING ORDER.                                               *
* *********************************************************************
*
FLD: QWHSISEQ LEN(4) DISP(24)     /*SEQUENCE NUMBER FOR IFCID*/
FLD: QWHSWSEQ LEN(4) DISP(28)     /*SEQUENCE NUMBER FOR DESTINATION*/
FLD: QWHSMTN  LEN(4) DISP(32)     /*ACTIVE TRACE NUMBER MASK*/
FLD: QWHSLOCN LEN(16) DISP(36)    /*LOCAL LOCATION NAME*/
FLD: QWHSLWID LEN(24) DISP(52)    /*LUWID*/
FLD: QWHSNID  LEN(8) DISP(52)     /*NETWORK ID*/
FLD: QWHSLUNM LEN(8) DISP(60)     /*LUNAME*/
FLD: QWHSLUUV LEN(6) DISP(68)     /*UNIQUENESS VALUE*/
FLD: QWHSLUCC LEN(2) TYPE(BIN) DISP(74)                /*COMMIT COUNT*/
FLD: QWHSEND  LEN(4) TYPE(BIN) DISP(76)      /*END OF STANDARD HEADER*/
*
***THE FOLLOWING VALUES DEFINE THE IFCID IN QWHSIID                  **
***                          RMID: DESCRIPTION:                      **
COMP: QWHS0000 = 0                /*..DEFAULT NORMAL TRACE RECORDS*/
COMP: QWHS0001 = 1                /*26 ..SYSTEM STATISTICS*/
COMP: QWHS0002 = 2                /*26 ..DATA BASE STATISTICS*/
COMP: QWHS0003 = 3                /*26 ..ACCOUNTING*/
*
***********************************************************************
*    SOME OR ALL OF THESE HEADERS MAY NOW FOLLOW THE STD HEADER:
*    QWHC    DSNDQWHC  *  CORRELATION HEADER PRESENT ON ACCOUNTING
*    QWHT    DSNDQWHT  *  TRACE HEADER MAY APPEAR
*    QWHU    DSNDQWHU  *  CPU HEADER MAY APPEAR
*    QWHD    DSNDQWHD  *  DISTRIBUTED HEADER PRESENT ON ACCOUNTING
*    QWHA    DSNDQWHA  *  DATA SHARING HEADER
***********************************************************************
COMPUTE: PSHDR_MAX_OFFSET = QWT02PSO + QWT02PSL /* -> PAST ALL HDRS*/
*
***********************************************************************
* DEFINE JUST THE LENGTH AND TYPE OF THE 2ND HEADER SECTION PRESENT   *
***********************************************************************
COMPUTE: PSHDR_2_TEST_OFFSET = QWT02PSO + QWHSLEN  
COMPUTE: PSHDR_2_OFFSET =
  WHEN(PSHDR_2_TEST_OFFSET >= PSHDR_MAX_OFFSET) ASSIGN(99999)
  ELSE  ASSIGN(PSHDR_2_TEST_OFFSET)
FIELD:   PSHDR_2_LEN DISP(0) LEN(2) TYPE(BIN) OFFSET(PSHDR_2_OFFSET)
FIELD:   PSHDR_2_TYP DISP(2) LEN(1) TYPE(BIN)
*

***********************************************************************
* DEFINE JUST THE LENGTH AND TYPE OF THE 3RD SECTION PRESENT          *
***********************************************************************
COMPUTE: PSHDR_3_TEST_OFFSET = PSHDR_2_OFFSET + PSHDR_2_LEN
COMPUTE: PSHDR_3_OFFSET =
  WHEN(PSHDR_3_TEST_OFFSET >= PSHDR_MAX_OFFSET) ASSIGN(99999)
  ELSE  ASSIGN(PSHDR_3_TEST_OFFSET)
*
FIELD:   PSHDR_3_LEN DISP(0) LEN(2) TYPE(BIN) OFFSET(PSHDR_3_OFFSET)
FIELD:   PSHDR_3_TYP DISP(2) LEN(1) TYPE(BIN)
*
***********************************************************************
* DEFINE JUST THE LENGTH AND TYPE OF THE 4TH SECTION PRESENT          *
***********************************************************************
COMPUTE: PSHDR_4_TEST_OFFSET = PSHDR_3_OFFSET + PSHDR_3_LEN
COMPUTE: PSHDR_4_OFFSET =
  WHEN(PSHDR_4_TEST_OFFSET >= PSHDR_MAX_OFFSET) ASSIGN(99999)
  ELSE  ASSIGN(PSHDR_4_TEST_OFFSET)
*
FIELD:   PSHDR_4_LEN DISP(0) LEN(2) TYPE(BIN) OFFSET(PSHDR_4_OFFSET)
FIELD:   PSHDR_4_TYP DISP(2) LEN(1) TYPE(BIN)
*
*
***********************************************************************
* DEFINE JUST THE LENGTH AND TYPE OF THE 5TH SECTION PRESENT          *
***********************************************************************
COMPUTE: PSHDR_5_TEST_OFFSET = PSHDR_4_OFFSET + PSHDR_4_LEN
COMPUTE: PSHDR_5_OFFSET =
  WHEN(PSHDR_5_TEST_OFFSET >= PSHDR_MAX_OFFSET) ASSIGN(99999)
  ELSE  ASSIGN(PSHDR_5_TEST_OFFSET)
*
FIELD:   PSHDR_5_LEN DISP(0) LEN(2) TYPE(BIN) OFFSET(PSHDR_5_OFFSET)
FIELD:   PSHDR_5_TYP DISP(2) LEN(1) TYPE(BIN)
*
************************************************************************
* DEFINE JUST THE LENGTH AND TYPE OF THE 6TH SECTION PRESENT          *
***********************************************************************
COMPUTE: PSHDR_6_TEST_OFFSET = PSHDR_5_OFFSET + PSHDR_5_LEN
COMPUTE: PSHDR_6_OFFSET =
  WHEN(PSHDR_6_TEST_OFFSET >= PSHDR_MAX_OFFSET) ASSIGN(99999)
  ELSE  ASSIGN(PSHDR_6_TEST_OFFSET)
*
FIELD:   PSHDR_6_LEN DISP(0) LEN(2) TYPE(BIN) OFFSET(PSHDR_6_OFFSET)
FIELD:   PSHDR_6_TYP DISP(2) LEN(1) TYPE(BIN)
*
*


***********************************************************************
**** QWHA     DSECT                                                     
***********************************************************************

COMP: QWHA_OFFSET =
           WHEN(PSHDR_2_TYP = QWHSHA32)  ASSIGN(PSHDR_2_OFFSET)
           WHEN(PSHDR_3_TYP = QWHSHA32)  ASSIGN(PSHDR_3_OFFSET)
           WHEN(PSHDR_4_TYP = QWHSHA32)  ASSIGN(PSHDR_4_OFFSET)
           WHEN(PSHDR_5_TYP = QWHSHA32)  ASSIGN(PSHDR_5_OFFSET)
           WHEN(PSHDR_6_TYP = QWHSHA32)  ASSIGN(PSHDR_6_OFFSET)
           ELSE                          ASSIGN(99999)
FLD: QWHA     DISP(0) LEN(1) OFFSET(QWHA_OFFSET)
*
*     /**************************************/
*     /*INSTRUMENTATION DATA SHARING HEADER */
*     /**************************************/
*
FLD: QWHALEN  LEN(2) TYPE(BIN) DISP(0)             /*LENGTH OF HEADER*/
FLD: QWHATYP  LEN(1) DISP(2)      /*TYPE OF HEADER DATA SHARING*/
*                         /*   NAME - QWHSHA32                       */
FLD: QWHAMEMN LEN(8) DISP(4)      /*DB2 MEMBER NAME*/
*                         /*   WITHIN A DB2 DATA SHARING GROUP, EACH */
*                         /*   MEMBER DB2 HAS A NAME.                */
FLD: QWHADSGN LEN(8) DISP(12)     /*DB2 DATA SHARING GROUP NAME*/
FLD: QWHAEND  LEN(1) DISP(20)
***********************************************************************
**** QWHC     DSECT                                                     
***********************************************************************

COMP: QWHC_OFFSET =
           WHEN(PSHDR_2_TYP = QWHSHC02)  ASSIGN(PSHDR_2_OFFSET)
           WHEN(PSHDR_3_TYP = QWHSHC02)  ASSIGN(PSHDR_3_OFFSET)
           WHEN(PSHDR_4_TYP = QWHSHC02)  ASSIGN(PSHDR_4_OFFSET)
           WHEN(PSHDR_5_TYP = QWHSHC02)  ASSIGN(PSHDR_5_OFFSET)
           WHEN(PSHDR_6_TYP = QWHSHC02)  ASSIGN(PSHDR_6_OFFSET)
           ELSE                          ASSIGN(99999)
FLD: QWHC     DISP(0) LEN(1) OFFSET(QWHC_OFFSET)
*
*/*****************************************************************/
*/*                                                               */
*/*             INSTRUMENTATION CORRELATION DATA                  */
*/*                                                               */
*/*****************************************************************/
*
FLD: QWHCLEN  LEN(2) TYPE(BIN) DISP(0)
                                  /*LENGTH OF THE CORRELATION HEADER*/
FLD: QWHCTYP  LEN(1) DISP(2)      /*TYPE OF HEADER CORRELATION 2*/
FLD: QWHCAID  LEN(8) DISP(4)      /*AUTHORIZATION ID*/
FLD: QWHCCV   LEN(12) DISP(12)    /*CORRELATION ID VALUE*/
FLD: QWHCCN   LEN(8) DISP(24)
                      /*CONNECTION NAME (NOT VALID ON END OF MEMORY &*/
*                        REFLECTS THE MVS HOME ASID CONNECTION NAME) */
FLD: QWHCPLAN LEN(8) DISP(32)     /*PLAN NAME*/
FLD: QWHCOPID LEN(8) DISP(40)     /*ORIGINAL OPERATOR ID*/
FLD: QWHCATYP LEN(4) TYPE(BIN) DISP(48) /*CONNECTING SYSTEM TYPE CODE*/
FLD: QWHCTOKN LEN(22) DISP(52)    /*ACCOUNTING TOKEN*/
FLD: QWHCRES2 LEN(2) DISP(74)     /*RESERVED*/
FLD: QWHCEUID LEN(16) DISP(76)    /*THE END USER'S USERID AT THE*/
*                                  /* USER'S WORKSTATION.            */
FLD: QWHCEUTX LEN(32) DISP(92)    /*THE END USER'S TRANSACTION NAME.*/
FLD: QWHCEUWN LEN(18) DISP(124)   /*THE END USER'S WORKSTATION NAME.*/
FLD: QWHCEND  LEN(4) TYPE(BIN) DISP(142)
*
*/*****************************************************************/
*/*      CONNECTION SYSTEM TYPE CONSTANTS                         */
*/*****************************************************************/
*
COMP: QWHCTSO = X'1'              /*TSO FOREGROUND AND BACKGROUND*/
COMP: QWHCDB2C = X'2'             /*DB2 CALL ATTACH*/
COMP: QWHCDLIB = X'3'             /*DL/I BATCH*/
COMP: QWHCCICS = X'4'             /*CICS ATTACH*/
COMP: QWHCIMSB = X'5'             /*IMS ATTACH BMP*/
COMP: QWHCIMSM = X'6'             /*IMS ATTACH MPP*/
COMP: QWHCDUW = X'7'              /*DB2 PRIVATE PROTOCOL*/
COMP: QWHCRUW = X'8'              /*DRDA PROTOCOL*/
COMP: QWHCICTL = X'9'             /*IMS CONTROL REGION*/
COMP: QWHCTBMP = X'A'             /*IMS TRANSACTION BMP*/
COMP: QWHCUTIL = X'B'             /*DB2 UTILITIES*/
COMP: QWHCTRRS = X'C'             /*RRSAF ATTACH*/
***********************************************************************
**** QWHT     DSECT                                                     
***********************************************************************

COMP: QWHT_OFFSET =
           WHEN(PSHDR_2_TYP = QWHSHT04)  ASSIGN(PSHDR_2_OFFSET)
           WHEN(PSHDR_3_TYP = QWHSHT04)  ASSIGN(PSHDR_3_OFFSET)
           WHEN(PSHDR_4_TYP = QWHSHT04)  ASSIGN(PSHDR_4_OFFSET)
           WHEN(PSHDR_5_TYP = QWHSHT04)  ASSIGN(PSHDR_5_OFFSET)
           WHEN(PSHDR_6_TYP = QWHSHT04)  ASSIGN(PSHDR_6_OFFSET)
           ELSE                          ASSIGN(99999)
FLD: QWHT     DISP(0) LEN(1) OFFSET(QWHT_OFFSET)
*     /*INSTRUMENTATION TRACE HEADER DATA  */
FLD: QWHTLEN  LEN(2) TYPE(BIN) DISP(0)             /*LENGTH OF HEADER*/
FLD: QWHTTYP  LEN(1) DISP(2)      /*TYPE OF HEADER TRACE*/
FLD: QWHTFLG0 LEN(1) DISP(3)      /*FLAGS*/
COMP: QWHTALFG = X'20'            /*ON DATA USES ALET TOKEN*/
FLD: QWHTTID  TYPE(HALF) DISP(4)  /*ID SPECIFIED DSNWTRC MACRO*/
FLD: QWHTTAG  LEN(1) DISP(6)      /*TAG SPECIFIED DSNWTRC MACRO*/
FLD: QWHTFUNC LEN(1) DISP(7)      /*FUNC SPECIFIED DSNWTRC MACRO*/
FLD: QWHTEB   LEN(4) TYPE(BIN) DISP(8)                   /*EB ADDRESS*/
FLD: QWHTPASI TYPE(HALF) DISP(12) /*PASID EPAR*/
*  /*FOLLOWING FIELDS BELONG TO CALLERS MODULE WHICH INVOKED TRACE*/
FLD: QWHTR14A TYPE(HALF) DISP(14) /*REGISTER 14 ASID*/
FLD: QWHTR14  LEN(4) TYPE(BIN) DISP(16)                 /*REGISTER 14*/
FLD: QWHTR15  LEN(4) TYPE(BIN) DISP(20)                 /*REGISTER 15*/
FLD: QWHTR0   LEN(4) TYPE(BIN) DISP(24)                  /*REGISTER 0*/
FLD: QWHTR1   LEN(4) TYPE(BIN) DISP(28)                  /*REGISTER 1*/
FLD: QWHTEXU  LEN(4) TYPE(BIN) DISP(32)
                                  /*ADDRESS OF MVS EXECUTION UNIT*/
FLD: QWHTDIM  TYPE(HALF) DISP(36) /*NUMBER OF DATA ITEMS*/
FLD: QWHTHASI TYPE(HALF) DISP(38) /*HOME ASID*/
*  /*THE FOLLOWING FIELDS REPEAT FOR EACH  DATA ITEM              */
FLD: QWHTDATA LEN(4) TYPE(BIN) DISP(40)         /*ADDRESS OF THE DATA*/
FLD: QWHTFLAG TYPE(HALF) DISP(44) /*FLAGS IN THE TRACE LIST*/
FLD: QWHTDATL TYPE(HALF) DISP(46) /*LENGTH OF THE DATA*/
FLD: QWHTEND  LEN(4) TYPE(BIN) DISP(48)
FLD: QWHTALET LEN(4) TYPE(BIN) DISP(48)   /*ALET TOKEN FOR DATA FIELD*/
*
***********************************************************************
**** QWHU     DSECT                                                     
***********************************************************************

COMP: QWHU_OFFSET =
           WHEN(PSHDR_2_TYP = QWHSHU08)  ASSIGN(PSHDR_2_OFFSET)
           WHEN(PSHDR_3_TYP = QWHSHU08)  ASSIGN(PSHDR_3_OFFSET)
           WHEN(PSHDR_4_TYP = QWHSHU08)  ASSIGN(PSHDR_4_OFFSET)
           WHEN(PSHDR_5_TYP = QWHSHU08)  ASSIGN(PSHDR_5_OFFSET)
           WHEN(PSHDR_6_TYP = QWHSHU08)  ASSIGN(PSHDR_6_OFFSET)
           ELSE                          ASSIGN(99999)
FLD: QWHU     DISP(0) LEN(1) OFFSET(QWHU_OFFSET)
*     /*INSTRUMENTATION CPU HEADER DATA  */
FLD: QWHULEN  LEN(2) TYPE(BIN) DISP(0)             /*LENGTH OF HEADER*/
FLD: QWHUTYP  LEN(1) DISP(2)     /*TYPE OF HEADER CPU MAPPED QWHSHU08*/
FLD: QWHUCPU  LEN(8) DISP(4)
                           /*CPUTIME OF THE MVS TCB OR SRB DISPATCHED*/
*      /*NOTE: A GIVEN ACE TOKEN MAY OPERATE UNDER ONE OR
*              MORE MVS DISPATCHABLE UNITS. THUS THE CPU TIME
*              COULD DECREASE BETWEEN EVENTS.
*              BINARY ZERO INDICATES TIME WAS NOT AVAILABLE*/
FLD: QWHUCNT  LEN(2) DISP(12)     /*(S) COUNT FIELD RESERVED*/
FLD: QWHUEND  LEN(1) DISP(14)
***********************************************************************
**** QWHD     DSECT                                                     
***********************************************************************

COMP: QWHD_OFFSET =
           WHEN(PSHDR_2_TYP = QWHSHD16)  ASSIGN(PSHDR_2_OFFSET)
           WHEN(PSHDR_3_TYP = QWHSHD16)  ASSIGN(PSHDR_3_OFFSET)
           WHEN(PSHDR_4_TYP = QWHSHD16)  ASSIGN(PSHDR_4_OFFSET)
           WHEN(PSHDR_5_TYP = QWHSHD16)  ASSIGN(PSHDR_5_OFFSET)
           WHEN(PSHDR_6_TYP = QWHSHD16)  ASSIGN(PSHDR_6_OFFSET)
           ELSE                          ASSIGN(99999)
FLD: QWHD     DISP(0) LEN(1) OFFSET(QWHD_OFFSET)
*
*/********************************************************************/
*/*             INSTRUMENTATION DISTRIBUTED DATA                     */
*/********************************************************************/
*
FLD: QWHDLEN  LEN(2) TYPE(BIN) DISP(0)
                                  /*LENGTH OF THE DISTRIBUTED HEADER*/
FLD: QWHDTYP  LEN(1) DISP(2)      /*TYPE OF HEADER DISTRIBUTED 16*/
FLD: QWHDRQNM LEN(16) DISP(4)
                         /*REQUESTER LOCATION NAME BLANK IF HEADER IS*/
*                            WRITTEN AT APPLICATION REQUESTER SITE
*                            THE NAME BY WHICH DB2 KNOWS THE APPLI-
*                            REQUESTER
FLD: QWHDTSTP LEN(8) DISP(20)     /*TIMESTAMP FOR DBAT TRACE RECORDS*/
FLD: QWHDSVNM LEN(16) DISP(28)
                            /*SRVNAM PARAMETER OF DRDA EXCSAT COMMAND*/
*                            WHAT A DRDA REQUESTER CALLS ITSELF.
*                            FOR PRIVATE PROTOCOLS SAME AS QWHDRQNM.
*                            ZEROES IF HEADER IS WRITTEN AT
*                            APPLICATION REQUESTER SITE.
FLD: QWHDPRID LEN(8) DISP(44)
                             /*PRDID PARAMETER OF DRDA ACCRDB COMMAND*/
*                            PRODUCT ID OF APPLICATION REQUESTER.
*                            FOR PRIVATE PROTOCOLS THIS FIELD WILL
*                            BE SET TO AN APPROPRIATE PRODUCT ID VALUE
*                            ZEROES IF HEADER IS WRITTEN AT APPLICA-
*                            TION REQUESTER SITE.
FLD: QWHDEND  LEN(4) TYPE(BIN) DISP(52)
****  D S N D Q W 0 0  -  IFCIDS 0004 - 0057  *********************
*   DATA CAN BE EXTERNALIZED FOR IFC IDS TO SMF OR  GTF.          *
*    THE SMF HEADER IS MAPPED BY DSNDQWSP.                        *
*    THE GTF HEADER IS MAPPED BY DSNDQWGT.                        *
*******************************************************************
*
*********************************************************************
* NOTE - MANY IFC RECORDS HAVE FIELDS IDENTIFIED BY DATA BASE       *
*  ID (DBID) AND PAGESET OBID. SOMETIMES RECORD OBID AND AN INDEX   *
*  OBID ARE ALSO PRESENT (RMID 14 PRODUCED RECORDS).                *
*  IFC ID 0105 AND 0107 IDENTIFY DBID AND PAGESET OBID TO DATA BASE *
*  AND PAGESET NAME. A PAGESET MAY BE A TABLESPACE OR INDEXSPACE    *
*                                                                   *
*  IF ONE DESIRES TO FIND THE PAGESET NAME IN THE DB2 SYSTEM CATALOG*
*  PLACE THE VALUES OF THE  DATA BASE ID (DBID)                     *
*  AND THE PAGESET OBID INTO A SQL WHERE CLAUSE USING               *
*  THE COLUMNS SPECIFIED BELOW FOR RELEASE 2.                       *
*   1.FOR A TABLESPACE THE COLUMNS DBID AND PSID IN                 *
*     SYSIBM.SYSTABLESPACE ARE USED.                                *
*   2.FOR AN INDEX     THE COLUMNS DBID AND ISOBID IN               *
*     SYSIBM.SYSINDEXES ARE USED.                                   *
*                                                                   *
*  IF ONE DESIRES TO FIND THE TABLE NAME ASSOCIATED WITH A RECORD   *
*  OBID THEN PLACE THE VALUES OF THE  DATA BASE ID (DBID)           *
*  AND THE RECORD OBID INTO A SQL WHERE CLAUSE USING                *
*  THE COLUMNS SPECIFIED BELOW FOR RELEASE 2.                       *
*   1.USE THE COLUMNS DBID AND OBID IN                              *
*     SYSIBM.SYSTABLES.                                             *
*                                                                   *
*  IF ONE DESIRES TO FIND THE INDEX NAME ASSOCIATED WITH AN INDEX   *
*  OBID THEN PLACE THE VALUES OF THE  DATA BASE ID (DBID)           *
*  AND THE INDEX OBID INTO A SQL WHERE CLAUSE USING                 *
*  THE COLUMNS SPECIFIED BELOW FOR RELEASE 2.                       *
*   1.USE THE COLUMNS DBID AND OBID IN                              *
*     SYSIBM.SYSINDEXES                                             *
*********************************************************************
*
*  NOTE: FIELDS DEFINED AS CHARACTER MAY CONTAIN HEX DATA
*
*********************************************************************
* NOTE - THE COMMENTS OF MANY FIELDS IN DSNDQW00 ARE PRECEEDED      *
*        WITH A (S) INDICATING FOR SERVICEABILITY ONLY.             *
*        SERVICEABILITY ONLY MEANS THE FOLLOWING:                   *
*        1.THE DATA IS INTENDED TO BE USED BY IBM PERSONNEL FOR     *
*          SERVICEABILITY RELATED PROBLEM SOLVING.                  *
*        2.NO ADDITIONAL INFORMATION CAN BE EXPECTED FROM IBM       *
*          ABOUT THE ITEM.                                          *
*        3.THE DATA MAY BE USED BY THE CUSTOMER AT THEIR OWN RISK.  *
*                                                                   *
*        IBM RESERVES THE RIGHT TO CHANGE THE COMMENTS OF           *
*        ANY DEFINED FIELD TO SERVICEABILITY ONLY,  OR OMIT THE     *
*        SERVICEABILITY ONLY INDICATION.                            *
*********************************************************************
*   IFC ID 0000 IS RESERVED FOR ENTRY AND EXIT TRACING. NO MAPPING
*   MACRO IS PROVIDED
*
*   IFC ID 0001 IS RESERVED FOR SYSTEM STATISTICS RECORDS AND IS
*   MAPPED BY MACRO DSNDQWST SUPTYPE=0
*
*   IFC ID 0002 IS RESERVED FOR DATA BASE STATISTICS RECORDS AND IS
*   MAPPED BY MACRO DSNDQWST SUPTYPE=1
*
*   IFC ID 0003 IS RESERVED FOR ACCOUNTING  RECORDS AND IS
*   MAPPED BY MACRO DSNDQWAS
*
*   IFC ID 0004 - 0057 MAPPED IN THIS MACRO - DSNDQW00
*
*   IFC ID 0058 - 0139 MAPPED IN  MACRO - DSNDQW01
*
*   IFC ID 0140 - 200  MAPPED IN  MACRO - DSNDQW02
*
*   IFC ID 0201 - UP   MAPPED IN  MACRO - DSNDQW03
*                        EXCEPT 202
*
*   IFC ID 0202 IS RESERVED FOR DYNAMIC ZPARM RECORDS AND IS
*   MAPPED BY MACRO DSNDQWST SUPTYPE=2
*
*
*
********************************************************************
* IFC ID 0004 FOR RMID 16 RECORDS THE START TRACE OR MODIFY        *
*  TRACE COMMAND.                                                  *
*  THE TRACE COMMAND TEXT IDENTIFIES THE TRACE. IN THE STANDARD    *
*  HEADER IS THE TRACE MASK FOR THIS SPECIFIC TRACE. ALL EVENTS    *
*  TRACED FOR THIS START/MODIFY TRACE COMMAND WILL HAVE THIS       *
*  ENTRY TRACE MASK BIT ON.                                        *
*  IF A TRACE IS STARTED VIA DSNZPARM THEN IFC ID 0004             *
*  MAY NOT APPEAR.                                                 *
********************************************************************
*
***********************************************************************
**** QW0004   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0004, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00004')
***********************************************************************
COMP: QW0004_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>4 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0004   DISP(0) LEN(1) OFFSET(QW0004_OFFSET)
FLD: QW0004BL TYPE(HALF) DISP(0)
                                /*LENGTH OF THE VARIABLE LENGTH ENTRY*/
FLD: QW0004RL TYPE(HALF) DISP(2)
                              /*LENGTH OF THE VARIABLE LENGTH MESSAGE*/
FLD: QW0004MS LEN(1) DISP(4)   /*MESSAGE TEXT USED TO START THE TRACE*/
FLD: QW0004CM LEN(8) DISP(4)      /*(S)*/
*
*
********************************************************************
* IFC ID 0005 FOR RMID 16 RECORDS THE STOP TRACE COMMAND           *
*  THE TRACE COMMAND TEXT IDENTIFIES THE TRACE BEING STOPPED       *
*  IF THE TRACE IS BEING STOPPED FOR INTERNAL REASONS IFC ID 0005  *
*  MAY NOT APPEAR.                                                 *
*  AN IFCID 0005 RECORD WILL BE WRITTEN FOR ALL SUCCESSFUL         *
*  INVOCATIONS OF THE MODIFY TRACE COMMAND.                        *
********************************************************************
*
***********************************************************************
**** QW0005   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0005, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00005')
***********************************************************************
COMP: QW0005_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>5 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0005   DISP(0) LEN(1) OFFSET(QW0005_OFFSET)
FLD: QW0005BL TYPE(HALF) DISP(0)
                                /*LENGTH OF THE VARIABLE LENGTH ENTRY*/
FLD: QW0005RL TYPE(HALF) DISP(2)
                              /*LENGTH OF THE VARIABLE LENGTH MESSAGE*/
FLD: QW0005MS LEN(1) DISP(4)    /*MESSAGE TEXT USED TO STOP THE TRACE*/
FLD: QW0005CM LEN(4) TYPE(BIN) DISP(4)                          /*(S)*/
*
*
********************************************************************
* IFC ID 0006 FOR RMID 10 RECORDS THE ID OF THE DATA SET BEFORE    *
*  A READ I/O OPERATION                                            *
********************************************************************
*
***********************************************************************
**** QW0006   DSECT             IFCID(QWHS0006)                         
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0006, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00006')
***********************************************************************
COMP: QW0006_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>6 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0006   DISP(0) LEN(1) OFFSET(QW0006_OFFSET)  /*IFCID(QWHS0006)*/
FLD: QW0006DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0006OB LEN(2) DISP(2)      /*PAGESET OBID*/
FLD: QW0006BP LEN(4) TYPE(BIN) DISP(4)
                                  /*BUFFER POOL INTERNAL ID (0 49 and*/
*                                   80-89)
FLD: QW0006PN LEN(3) DISP(8)      /*FIRST PAGE NUMBER TO BE READ (for*/
*                                   non large table space)
FLD: QW0006F  LEN(1) DISP(11)     /*FLAG FOR TYPE OF READ*/
COMP: QW0006FS = 'S'              /*SEQUENTIAL PREFETCH REQUEST*/
COMP: QW0006FL = 'L'              /*LIST PREFETCH REQUEST*/
COMP: QW0006FD = 'D'            /*DYNAMIC SEQUENTIAL PREFETCH REQUEST*/
COMP: QW0006FR = 'R'              /*READ REQUEST*/
FLD: QW0006AC LEN(4) TYPE(BIN) DISP(12)      /*ACE TOKEN OF REQUESTOR*/
FLD: QW0006PG LEN(4) TYPE(BIN) DISP(16)
                                  /*FIRST PAGE NUMBER TO BE READ*/
FLD: QW0006FG LEN(1) DISP(20)     /*FLAG FOR TYPE OF TABLE SPACE*/
COMP: QW0006F1 = 'N'              /*NON LARGE TABLE SPACE*/
COMP: QW0006F2 = 'L'              /*NON EA LARGE TABLE SPACE*/
COMP: QW0006F3 = 'V'              /*EA LARGE TABLE SPACE*/
***********************************************************************
**** QW0007   DSECT             IFCID(QWHS0007)                         
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0007, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00007')
***********************************************************************
COMP: QW0007_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>7 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0007   DISP(0) LEN(1) OFFSET(QW0007_OFFSET)  /*IFCID(QWHS0007)*/
FLD: QW0007MM LEN(4) TYPE(BIN) DISP(0)
                             /*MEDIA MANAGER RETURN CODE 0 SUCCESSFUL*/
FLD: QW0007DB LEN(2) DISP(4)      /*DATABASE ID (DBID)*/
FLD: QW0007OB LEN(2) DISP(6)      /*PAGESET OBID*/
FLD: QW0007AC LEN(4) TYPE(BIN) DISP(8)
                                  /*ACE TOKEN OF ACTUAL REQUESTOR.*/
*                 THIS MAY DIFFER FROM THE ACE TOKEN IN THE STANDARD
*                 HEADER FOR THIS RECORD, EG IN SEQUENTIAL PREFETCH.
FLD: QW0007NP TYPE(HALF) DISP(12) /*NUMBER OF PAGES READ*/
*
*
********************************************************************
* IFC ID 0008 FOR RMID 10 RECORDS THE ID OF THE DATA SET BEFORE    *
*  A WRITE I/O OPERATION (SYNCHRONOUS)                             *
********************************************************************
*
***********************************************************************
**** QW0008   DSECT IFCID(QWHS0008)                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0008, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00008')
***********************************************************************
COMP: QW0008_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>8 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0008   DISP(0) LEN(1) OFFSET(QW0008_OFFSET)  /*IFCID(QWHS0008)*/
FLD: QW0008DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0008OB LEN(2) DISP(2)      /*PAGESET OBID*/
FLD: QW0008WR LEN(4) TYPE(BIN) DISP(4)
                                  /*NUMBER OF PAGES TO BE WRITTEN*/
FLD: QW0008PI LEN(4) TYPE(BIN) DISP(8)
                                  /*NUMBER OF ANTICIPATED PAGE FAULTS*/
*                   REAL STORAGE FRAMES ARE TESTED BEFORE ISSUING WRITE
FLD: QW0008BP LEN(4) TYPE(BIN) DISP(12)
                           /*BUFFER POOL INTERNAL ID (0 49 and 80 89)*/
FLD: QW0008AB LEN(4) TYPE(BIN) DISP(16)
                     /*NUMBER OF ACTIVE NON STEALABLE BUFFERS IN POOL*/
FLD: QW0008DW LEN(4) TYPE(BIN) DISP(20)
                    /*NUMBER OF UPDATED PAGES ON DEFERRED WRITE QUEUE*/
*                    FOR THE BUFFER POOL NAMED BY QW0008BP
FLD: QW0008FC LEN(1) DISP(24)     /*FLAG FOR TYPE OF WRITE*/
COMP: QW0008F1 = 'C'              /*CASTOUT FROM SES TO DISK*/
COMP: QW0008F2 = 'W'           /*NORMAL BUFFER MANAGER DISK WRITE I/O*/
***********************************************************************
**** QW0009   DSECT          IFCID(QWHS0009)                            
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0009, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00009')
***********************************************************************
COMP: QW0009_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>9 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0009   DISP(0) LEN(1) OFFSET(QW0009_OFFSET)  /*IFCID(QWHS0009)*/
FLD: QW0009MM LEN(4) TYPE(BIN) DISP(0)
                             /*MEDIA MANAGER RETURN CODE 0 SUCCESSFUL*/
*
*
********************************************************************
* IFC ID 0010 FOR RMID 10 RECORDS THE NAME OF THE DATA SET BEFORE  *
*  A WRITE I/O OPERATION (ASYNCHRONOUS)                            *
********************************************************************
*
***********************************************************************
**** QW0010   DSECT IFCID(QWHS0010)                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0010, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00010')
***********************************************************************
COMP: QW0010_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>10 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0010   DISP(0) LEN(1) OFFSET(QW0010_OFFSET)  /*IFCID(QWHS0010)*/
FLD: QW0010DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0010OB LEN(2) DISP(2)      /*PAGESET OBID*/
FLD: QW0010WR LEN(4) TYPE(BIN) DISP(4)
                                  /*NUMBER OF PAGES TO BE WRITTEN*/
FLD: QW0010PI LEN(4) TYPE(BIN) DISP(8)
                                  /*NUMBER OF ANTICIPATED PAGE FAULTS*/
*                   REAL STORAGE FRAMES ARE TESTED BEFORE ISSUING WRITE
FLD: QW0010BP LEN(4) TYPE(BIN) DISP(12)
                           /*BUFFER POOL INTERNAL ID (0 49 and 80 89)*/
FLD: QW0010AB LEN(4) TYPE(BIN) DISP(16)
                                  /*NUMBER OF ACTIVE BUFFERS IN POOL*/
FLD: QW0010DW LEN(4) TYPE(BIN) DISP(20)
                    /*NUMBER OF UPDATED PAGES ON DEFERRED WRITE QUEUE*/
*                    FOR THE BUFFER POOL NAMED BY QW0010BP
FLD: QW0010FC LEN(1) DISP(24)     /*FLAG FOR TYPE OF WRITE*/
COMP: QW0010F1 = 'C'              /*CASTOUT FROM SES TO DISK*/
COMP: QW0010F2 = 'W'           /*NORMAL BUFFER MANAGER DISK WRITE I/O*/
***********************************************************************
**** QW0011   DSECT           IFCID(QWHS0011)                           
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0011, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00011')
***********************************************************************
COMP: QW0011_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>11 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0011   DISP(0) LEN(1) OFFSET(QW0011_OFFSET)  /*IFCID(QWHS0011)*/
FLD: QW0011DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0011PS LEN(2) DISP(2)      /*PAGESET OBID*/
FLD: QW0011OB LEN(2) DISP(4)      /*RECORD OBID*/
FLD: QW0011TM TYPE(STCKTIME) DISP(6)    /*TIME EXIT WAS CALLED (STCK)*/
FLD: QW0011RT LEN(2) DISP(14)     /*EXITS RETURN CODE (EXPLRC1)*/
FLD: QW0011RE LEN(4) DISP(16)     /*EXITS REASON CODE (EXPLRC2)*/
*
*
********************************************************************
* IFC ID 0012 FOR RMID 14 RECORDS RESULTS OF A EDIT EXIT CALL TO   *
*          ENCODE A RECORD                                         *
* WRITTEN FOR EVERY EDITED ROW                                     *
********************************************************************
*
***********************************************************************
**** QW0012   DSECT           IFCID(QWHS0012)                           
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0012, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00012')
***********************************************************************
COMP: QW0012_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>12 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0012   DISP(0) LEN(1) OFFSET(QW0012_OFFSET)  /*IFCID(QWHS0012)*/
FLD: QW0012DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0012PS LEN(2) DISP(2)      /*PAGESET OBID*/
FLD: QW0012OB LEN(2) DISP(4)      /*RECORD OBID*/
FLD: QW0012TM TYPE(STCKTIME) DISP(6)    /*TIME EXIT WAS CALLED (STCK)*/
FLD: QW0012RT LEN(2) DISP(14)     /*EXITS RETURN CODE (EXPLRC1)*/
FLD: QW0012RE LEN(4) DISP(16)     /*EXITS REASON CODE (EXPLRC2)*/
*
*
********************************************************************
* IFC ID 0013 FOR RMID 14 RECORDS INPUT TO  HASH SCAN              *
********************************************************************
*
***********************************************************************
**** QW0013   DSECT           IFCID(QWHS0013)                           
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0013, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00013')
***********************************************************************
COMP: QW0013_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>13 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0013   DISP(0) LEN(1) OFFSET(QW0013_OFFSET)  /*IFCID(QWHS0013)*/
FLD: QW0013S1 LEN(4) TYPE(BIN) DISP(0)
                                  /*SELF DEFINING SECTION 1 QWT02R10*/
FLD: QW0013DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0013PS LEN(2) DISP(2)      /*PAGESET OBID*/
FLD: QW0013OB LEN(2) DISP(4)      /*RECORD OBID*/
FLD: QW0013S2 LEN(4) TYPE(BIN) DISP(0)
                                  /*SELF DEFINING SECTION 2 QWT02R2O*/
*                       NEXT FIELDS DESCRIBE PREDICATE FOR SCAN
*                            REPEATING GROUP - MAXIMUM 10
FLD: QW0013C1 LEN(2) DISP(0)      /*FIRST COLUMN NUMBER*/
FLD: QW0013OP LEN(2) DISP(2)      /*OPERATOR NE,G,GE,LE ETC*/
FLD: QW0013CO LEN(1) DISP(4)      /*CONNECTOR A AND, O OR, BLANK*/
FLD: QW0013TF LEN(1) DISP(5)      /*T TRUE / F FALSE / OR BINARY ZERO*/
FLD: QW0013TP LEN(1) DISP(6)      /*C COLUMN OR V VALUE FOLLOW*/
FLD: QW0013VA LEN(8) DISP(8)      /*FIRST EIGHT BYTES OF VALUE*/
FLD: QW0013C2 LEN(2) DISP(8)      /*SECOND COLUMN NUMBER*/
***********************************************************************
**** QW0014   DSECT           IFCID(QWHS0014)                           
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0014, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00014')
***********************************************************************
COMP: QW0014_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>14 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0014   DISP(0) LEN(1) OFFSET(QW0014_OFFSET)  /*IFCID(QWHS0014)*/
FLD: QW0014RT LEN(4) TYPE(BIN) DISP(0)     /*RETURN CODE 0 SUCCESSFUL*/
FLD: QW0014RE LEN(4) TYPE(BIN) DISP(4)                          /*(S)*/
*    (S) = FOR SERVICEABILTY
*
*
********************************************************************
* IFC ID 0015 FOR RMID 14 RECORDS INPUT TO INDEX SCAN OR DIRECT    *
*             RETRIEVAL USING AN INDEX TO RETRIEVE THE DATA        *
*             WHEN PARALLELISM IS IN EFFECT, RECORDS INPUT TO INDEX*
*             SCAN FOR EACH I/O LOGICAL PARTITION (I/O STREAM).    *
********************************************************************
*
***********************************************************************
**** QW0015   DSECT           IFCID(QWHS0015)                           
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0015, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00015')
***********************************************************************
COMP: QW0015_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>15 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0015   DISP(0) LEN(1) OFFSET(QW0015_OFFSET)  /*IFCID(QWHS0015)*/
FLD: QW0015S1 LEN(4) TYPE(BIN) DISP(0)
                                  /*SELF DEFINING SECTION 1 QWT02R10*/
FLD: QW0015AC LEN(4) TYPE(BIN) DISP(0)     /*CUB TOKEN FOR UNIQUENESS*/
FLD: QW0015DB LEN(2) DISP(4)      /*DATABASE ID (DBID)*/
FLD: QW0015PS LEN(2) DISP(6)      /*PAGESET OBID FOR THE TABLESPACE*/
FLD: QW0015OB LEN(2) DISP(8)      /*RECORD OBID FOR THE TABLE*/
FLD: QW0015IB LEN(2) DISP(10)     /*INDEX OBID*/
FLD: QW0015S2 LEN(4) TYPE(BIN) DISP(0)
                                  /*SELF DEFINING SECTION 2 QWT02R2O*/
*                       NEXT FIELDS DESCRIBE PREDICATE FOR SCAN
*                        REPEATING GROUP - MAXIMUM 10
FLD: QW0015C1 LEN(2) DISP(0)      /*FIRST COLUMN NUMBER*/
FLD: QW0015OP LEN(2) DISP(2)      /*OPERATOR NE,G,GE,LE ETC*/
FLD: QW0015CO LEN(1) DISP(4)  /*CONNECTOR A AND, O OR, OR BINARY ZERO*/
FLD: QW0015TF LEN(1) DISP(5)      /*T TRUE / F FALSE / OR BINARY ZERO*/
FLD: QW0015TP LEN(1) DISP(6)      /*C COLUMN OR V VALUE FOLLOW*/
FLD: QW0015VA LEN(8) DISP(8)      /*FIRST EIGHT BYTES OF VALUE*/
FLD: QW0015C2 LEN(2) DISP(8)      /*SECOND COLUMN NUMBER*/
***********************************************************************
**** QW0016   DSECT          IFCID(QWHS0016)                            
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0016, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00016')
***********************************************************************
COMP: QW0016_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>16 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0016   DISP(0) LEN(1) OFFSET(QW0016_OFFSET)  /*IFCID(QWHS0016)*/
FLD: QW0016S1 LEN(4) TYPE(BIN) DISP(0)
                                  /*SELF DEFINING SECTION 1 QWT02R10*/
FLD: QW0016AC LEN(4) TYPE(BIN) DISP(0)     /*CUB TOKEN FOR UNIQUENESS*/
FLD: QW0016DB LEN(2) DISP(4)      /*DATABASE ID (DBID)*/
FLD: QW0016PS LEN(2) DISP(6)      /*PAGESET OBID FOR THE TABLESPACE*/
FLD: QW0016OB LEN(2) DISP(8)      /*RECORD OBID FOR THE TABLE*/
FLD: QW0016WT LEN(2) DISP(10)     /*FILE TYPE, POSSIBLE VALUES ARE:*/
*                              'WF' - WORKFILE
*                              'TT' - TEMPORARY TABLE
*                              'TR' - TRANSITION TABLE FOR TRIGGERS
*                              'NW' - NON-WORKFILE
**********************************************************************
* THE FOLLOWING FIELDS DETAIL INFORMATION ABOUT TRIGGERS            **
**********************************************************************
FLD: QW0016TL LEN(2) DISP(12)     /*TRIGGER LEVEL (UP TO A MAX OF 16)*/
*                              ZERO IF THERE ARE NO TRIGGERS
FLD: QW0016ST LEN(1) DISP(14) /*TRIGGERING SQL TYPE, POSSIBLE VALUES:*/
*                              'I' - INSERT
*                              'U' - UPDATE (INSERT INTO A TRANSITION
*                                     TABLE ON BEHALF OF AN UPDATE)
*                              'D' - DELETE (INSERT INTO A TRANSITION
*                                     TABLE ON BEHALF OF AN DELETE)
*                              blank - NON TRIGGERED STATEMENT
FLD: QW0016RI LEN(1) DISP(15)     /*REFERENTIAL INTEGRITY TYPE*/
*                            INSERT INTO A TRANSITION TABLE FOR
*                            TRIGGERS IS BEING DONE ON BEHALF OF THE
*                            REFERENTIAL INTEGRITY TYPE GIVEN BELOW.
*                             POSSIBLE VALUES ARE:
*                              'S' - SET NULL, VALID WITH QW0016ST
*                                    = 'U' FOR UPDATE
*                              'C' - CASCADE DELETE, VALID WITH
*                                    QW0016ST = 'D' FOR DELETE
*                              blank - NON RI
* ****************** CONSTANTS FOR QW0016WT **************************
COMP: QW0016NW = 'NW'             /*NW NON WORKFILE*/
COMP: QW0016WF = 'WF'             /*WF WORKFILE*/
COMP: QW0016TT = 'TT'             /*TT TEMPORARY TABLE*/
COMP: QW0016TR = 'TR'             /*TR TRANSITION TABLE FOR TRIGGERS*/
COMP: QW0016I = 'I'               /*I INSERT*/
COMP: QW0016U = 'U'               /*U UPDATE*/
COMP: QW0016D = 'D'               /*D DELETE*/
COMP: QW0016C = 'C'               /*C CASCADE DELETE*/
COMP: QW0016S = 'S'               /*S SET NULL*/
***********************************************************************
**** QW0017   DSECT          IFCID(QWHS0017)                            
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0017, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00017')
***********************************************************************
COMP: QW0017_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>17 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0017   DISP(0) LEN(1) OFFSET(QW0017_OFFSET)  /*IFCID(QWHS0017)*/
FLD: QW0017S1 LEN(4) TYPE(BIN) DISP(0)
                                  /*SELF DEFINING SECTION 1 QWT02R10*/
FLD: QW0017AC LEN(4) TYPE(BIN) DISP(0)     /*CUB TOKEN FOR UNIQUENESS*/
FLD: QW0017DB LEN(2) DISP(4)      /*DATABASE ID (DBID)*/
FLD: QW0017PS LEN(2) DISP(6)      /*PAGESET OBID*/
FLD: QW0017OB LEN(2) DISP(8)      /*RECORD OBID*/
FLD: QW0017TY LEN(2) DISP(10)     /*SCAN TYPE, POSSIBLE VALUES ARE:*/
*                              'SQ' - SEQUENTIAL SCAN
*                              'WF' - WORKFILE SCAN
*                              'TT' - TEMPORARY TABLE SCAN
*                              'TR' - TRANSITION TABLE SCAN
FLD: QW0017S2 LEN(4) TYPE(BIN) DISP(0)
                                  /*SELF DEFINING SECTION 2 QWT02R2O*/
*                           NEXT FIELDS DESCRIBE PREDICATE FOR SCAN
*                            REPEATING GROUP - MAXIMUM 10
FLD: QW0017C1 LEN(2) DISP(0)      /*FIRST COLUMN NUMBER*/
FLD: QW0017OP LEN(2) DISP(2)      /*OPERATOR NE,G,GE,LE ETC*/
FLD: QW0017CO LEN(1) DISP(4)  /*CONNECTOR A AND, O OR, OR BINARY ZERO*/
FLD: QW0017TF LEN(1) DISP(5)      /*T TRUE / F FALSE / OR BINARY ZERO*/
FLD: QW0017TP LEN(1) DISP(6)      /*C COLUMN OR V VALUE FOLLOW*/
FLD: QW0017VA LEN(8) DISP(8)      /*FIRST EIGHT BYTES OF VALUE*/
FLD: QW0017C2 LEN(2) DISP(8)      /*SECOND COLUMN NUMBER*/
* ****************** CONSTANTS FOR QW0017TY **************************
COMP: QW0017SQ = 'SQ'             /*SQ SEQUENTIAL SCAN*/
COMP: QW0017WF = 'WF'             /*WF WORKFILE SCAN*/
COMP: QW0017TT = 'TT'             /*TT TEMPORARY TABLE SCAN*/
COMP: QW0017TR = 'TR'         /*TR TRANSITION TABLE SCAN FOR TRIGGERS*/
***********************************************************************
**** QW0018   DSECT          IFCID(QWHS0018)                            
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0018, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00018')
***********************************************************************
COMP: QW0018_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>18 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0018   DISP(0) LEN(1) OFFSET(QW0018_OFFSET)  /*IFCID(QWHS0018)*/
FLD: QW0018RT LEN(4) TYPE(BIN) DISP(0)                          /*(S)*/
FLD: QW0018RE LEN(4) TYPE(BIN) DISP(4)                          /*(S)*/
FLD: QW0018AC LEN(4) TYPE(BIN) DISP(8)     /*CUB TOKEN FOR UNIQUENESS*/
FLD: QW0018ID LEN(4) DISP(0)  /*IDENTIFICATION (ID) SEE EQUATES BELOW*/
FLD: QW0018RP LEN(8) DISP(4)      /*ROWS PROCESSED ANY RECORD TYPE*/
FLD: QW0018LA LEN(8) DISP(12)     /*ROWS LOOKED AT RIGHT RECORD TYPE*/
FLD: QW0018DQ LEN(8) DISP(20)     /*ROWS DATA MANAGER QUALIFIED*/
FLD: QW0018RQ LEN(8) DISP(28)     /*ROWS RDS QUALIFIED*/
FLD: QW0018IN LEN(8) DISP(36)     /*ROWS INSERTED*/
FLD: QW0018UP LEN(8) DISP(44)     /*ROWS UPDATED*/
FLD: QW0018DE LEN(8) DISP(52)     /*ROWS DELETED*/
FLD: QW0018PS LEN(4) DISP(60)     /*PAGES SCANNED*/
FLD: QW0018PR LEN(4) DISP(64)   /*ADDITIONAL PAGES SCANNED TO ENFORCE*/
*                             REFERENTIAL CONSTRAINTS
FLD: QW0018DR LEN(8) DISP(68)   /*ADDITIONAL ROWS DELETED OR SET NULL*/
*                             TO ENFORCE REFERENTIAL CONSTRAINTS
COMP: QW0018IX = 'INDX'           /*ID INDEX*/
COMP: QW0018SD = 'SEQD'           /*ID SEQUENTIAL DATA*/
COMP: QW0018SW = 'SEQW'           /*ID SEQUENTIAL DATA WORKFILE*/
COMP: QW0018ST = 'SEQT'           /*ID SEQUENTIAL DATA TEMP TABLE*/
COMP: QW0018SR = 'SEQR'         /*ID SEQUENTIAL DATA TRANSITION TABLE*/
***********************************************************************
**** QW0019   DSECT           IFCID(QWHS0019)                           
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0019, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00019')
***********************************************************************
COMP: QW0019_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>19 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0019   DISP(0) LEN(1) OFFSET(QW0019_OFFSET)  /*IFCID(QWHS0019)*/
FLD: QW0019DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0019PS LEN(2) DISP(2)      /*PAGESET OBID*/
FLD: QW0019OB LEN(2) DISP(4)      /*RECORD OBID*/
FLD: QW0019TM TYPE(STCKTIME) DISP(6)    /*TIME EXIT WAS CALLED (STCK)*/
FLD: QW0019RT LEN(2) DISP(14)     /*EXITS RETURN CODE (EXPLRC1)*/
FLD: QW0019RE LEN(4) DISP(16)     /*EXITS REASON CODE (EXPLRC2)*/
*
*
********************************************************************
* IFC ID 0020 FOR RMID 14 RECORDS THE SUMMARY OF PAGE OR ROW LOCKS *
*  HELD, HIGHEST TABLESPACE LOCK STATE, AND LOCK ESCALATION        *
*  INFORMATION FOR TABLESPACES.                                    *
*  THE RECORD IS EXTERNALIZED                                      *
*  FOR THE AGENT AT EACH COMMIT OR ABORT. COUNTERS ARE NOT RESET   *
*  AT EXTERNALIZATION.                                             *
*  NOTE THIS SUMMARY RECORD DOES NOT COUNT ALL DB2 LOCKS           *
*  OBTAINED, IN PARTICULAR, THE MAX LOCKS OBTAINED ON THE CATALOG  *
*  DURING A DYNAMIC BIND WILL NOT BE REFLECTED BY QW0020PL         *
********************************************************************
*
***********************************************************************
**** QW0020   DSECT     IFCID(QWHS0020)                                 
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0020, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00020')
***********************************************************************
COMP: QW0020_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>20 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0020   DISP(0) LEN(1) OFFSET(QW0020_OFFSET)  /*IFCID(QWHS0020)*/
FLD: QW0020T  LEN(8) TYPE(BIN) DISP(0)
                                  /*MAX PAGE OR ROW LOCKS HELD AND*/
*                        LOCK ESCALATIONS FOR AGENT
FLD: QW0020TP LEN(4) TYPE(BIN) DISP(0)
                         /*Max number of page, row and LOB locks held*/
FLD: QW0020TS TYPE(HALF) DISP(4)  /*LOCK ESCALATIONS TO SHARED*/
*                        For segmented TS, this is the number of
*                        tables.  For partitioned TS using SPL,
*                        this is the number of partitions.
*                        Otherwise, this is the number of table
*                        spaces.
FLD: QW0020TX TYPE(HALF) DISP(6)  /*LOCK ESCALATIONS TO EXCLUSIVE*/
*                        For segmented TS, this is the number of
*                        tables.  For partitioned TS using SPL,
*                        this is the number of partitions.
*                        Otherwise, this is the number of table
*                        spaces.
*
FLD: QW0020N  TYPE(HALF) DISP(8)  /*NUMBER OF PAGESET SUB RECORDS*/
*                                       THAT FOLLOW
*
*
********************************************************************
* N TABLESPACE SUB-RECORDS, EACH SHOWING THE MAXIMUM NUMBER OF     *
*  PAGE OR ROW LOCKS HELD, THE HIGHEST PAGESET LOCK STATE, AND     *
*  THE OCCURRENCE OF LOCK ESCALATION, IF ANY.                      *
********************************************************************
*
FLD: QW0020P  LEN(12) DISP(10)    /*TABLESPACE SUB RECORD*/
FLD: QW0020PD LEN(2) DISP(10)     /*DATA BASE ID*/
FLD: QW0020PP LEN(2) DISP(12)     /*PAGESET ID (0BID)*/
FLD: QW0020PL LEN(4) TYPE(BIN) DISP(14)
                              /*Max number of either page, row or LOB*/
*                           lock held for a thread
FLD: QW0020PC LEN(2) DISP(18) /*FOR SEGMENTED TABLESPACE TOTAL NUMBER*/
*                         OF TABLES THAT HAVE ESCALATED WITHIN
*                         THE TABLESPACE
*                         For partitioned table spaces using
*                         selective partition locking, total number
*                         of partitions that were escalated
FLD: QW0020PS LEN(1) DISP(18)     /*FOR UNSEGMENTED TABLESPACE EXCEPT*/
*                         PARTITIONED TABLE SPACE USING SPL -
*                         HIGHEST PAGESET LOCK STATE
COMP: QW0020S1 = X'01'            /** RESERVED **/
COMP: QW0020S2 = X'02'            /** INTENTED SHARE **/
COMP: QW0020S3 = X'03'            /** INTENTED EXCLUSIVE **/
COMP: QW0020S4 = X'04'            /** SHARED **/
COMP: QW0020S5 = X'05'            /** UPDATE **/
COMP: QW0020S6 = X'06'            /** SHARED INTENT EXCLUSIVE **/
COMP: QW0020S7 = X'07'            /** RESERVED **/
COMP: QW0020S8 = X'08'            /** EXCLUSIVE **/
FLD: QW0020PE LEN(1) DISP(19)     /*FOR UNSEGMENTED TABLESPACE EXCEPT*/
*                         PARTITIONED TABLE SPACE USING SPL -
*                         LOCK STATE BEFORE LOCK ESCALATION
*                         (ZERO = LOCK ESCALATION DID NOT OCCUR)
FLD: QW0020PF LEN(1) DISP(20)     /*TABLESPACE TYPE*/
COMP: QW0020F1 = X'01'            /** SIMPLE TABLE SPACE **/
COMP: QW0020F2 = X'02'            /** SEGMENTED TABLE SPACE **/
COMP: QW0020F3 = X'03'            /** PARTITIONED TABLE SPACE **/
COMP: QW0020F4 = X'04'        /** PARTITIONED TABLE SPACE USING SPL **/
COMP: QW0020F5 = X'05'            /** LOB table space **/
FLD: QW0020PR LEN(1) DISP(21) /*TYPE OF LOWER LEVEL LOCK USED, IF ANY*/
COMP: QW0020R0 = X'00'            /** NONE **/
COMP: QW0020R1 = X'01'            /** PAGE LOCK **/
COMP: QW0020R2 = X'02'            /** ROW LOCK **/
COMP: QW0020R3 = X'03'            /** LOB lock **/
***********************************************************************
**** QW0021   DSECT     * IFCID(QWHS0021)                        *      
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0021, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00021')
***********************************************************************
COMP: QW0021_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>21 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0021   DISP(0) LEN(1) OFFSET(QW0021_OFFSET)
                                  /** IFCID(QWHS0021) **/
FLD: QW0021RC LEN(4) TYPE(BIN) DISP(0)    /** RETURN CODE FROM IRLM **/
FLD: QW0021TK LEN(8) DISP(4)     /** DB2 TOKEN IDENTIFIES SUBSYSTEM **/
FLD: QW0021U  LEN(8) DISP(12)     /*(S)* **/
FLD: QW0021O  LEN(8) DISP(20)     /*(S)* **/
FLD: QW0021RT LEN(4) DISP(28)     /** LOCK REQUEST TOKEN **/
*                          - ZERO ON LOCK
*                          - ON UNLOCK OR CHANGE A NON ZERO      *
*                            VALUE INDICATES THE LOCK TO MODIFY  *
*                          (IE. THE VALUES IN QW0021LK NOT VALID)*
*                            THIS VALUE SHOULD MATCH QW0021FT
*                            IN THE CORRESPONDING PREVIOUS LOCK
*                            RECORD
*                          - ON UNLOCK OR CHANGE A ZERO VALUE   *
*                            INDICATES A GLOBAL CHANGE BASED ON  *
*                            THE LOCK STATE AND DURATION VALUES  *
*                            FOR RESULTANT STATE LOCKS MAY OCCUR.*
FLD: QW0021LH LEN(4) DISP(32)   /** LOCKED RESOURCE NAME HASH VALUE **/
FLD: QW0021LK LEN(32) DISP(36)    /** DB2 LOCK NAME COMPOSED OF: **/
FLD: QW0021KL LEN(1) TYPE(BIN) DISP(36)
                                  /** ()LENGTH OF THE LOCK NAME **/
FLD: QW0021KT LEN(1) DISP(39)
                           /** ()FLAGS FOR THE LOCKED RESOURCE TYPE **/
COMP: QW0021L0 = X'00'            /** DATA PAGE LOCKING **/
COMP: QW0021L1 = X'01'            /** DATA BASE LOCKING **/
COMP: QW0021L2 = X'02'            /** PAGESET LOCKING **/
COMP: QW0021L3 = X'03'           /** PARTITIONED TABLE SPACE LOCKING**/
COMP: QW0021L4 = X'04'            /** SKELETON CURSOR TABLE LOCKING **/
COMP: QW0021L5 = X'05'            /** INDEX PAGE LOCKING **/
COMP: QW0021L6 = X'06'            /** PARTITION LOCKING **/
COMP: QW0021L7 = X'07'            /** PAGESET OR DATA SET OPEN LOCK **/
COMP: QW0021L8 = X'08'            /*(S)* **/
COMP: QW0021L9 = X'09'            /*(S)* **/
COMP: QW0021LA = X'0A'            /** START/STOP LOCK ON DBA TABLE **/
COMP: QW0021LB = X'0B'            /*(S)* **/
COMP: QW0021LC = X'0C'            /*(S)* **/
COMP: QW0021LD = X'0D'            /** SYSLGRNG RECORDING LOCK **/
COMP: QW0021LE = X'0E'            /** UTILITY SERIALIZATION LOCK **/
COMP: QW0021LF = X'0F'            /** MASS DELETE LOCK **/
COMP: QW0021LG = X'10'            /** TABLE LOCKING **/
COMP: QW0021LI = X'11'            /** HASH ANCHOR LOCK **/
COMP: QW0021LJ = X'12'            /** SKELETON PACKAGE TABLE LOCK **/
COMP: QW0021LL = X'13'            /** COLLECTION LOCK **/
COMP: QW0021LN = X'14'            /** CS READ DRAIN LOCK **/
COMP: QW0021LW = X'15'            /** RR READ DRAIN LOCK **/
COMP: QW0021LQ = X'16'            /** WRITE DRAIN LOCK **/
COMP: QW0021LM = X'17'            /** AUTOBIND/REMOTE BIND LOCK **/
COMP: QW0021MR = X'18'            /** ROW LOCK **/
COMP: QW0021MI = X'19'            /** INDEX END OF FILE LOCK **/
COMP: QW0021LR = X'1A'            /** ALTER BUFFERPOOL LOCK **/
COMP: QW0021LS = X'1B'            /** GROUP BUFFERPOOL START/STOP **/
COMP: QW0021LT = X'1C'            /** INDEX MANAGER TREE P LOCK **/
COMP: QW0021LU = X'1D'            /** PAGESET/PARTITION P LOCK **/
COMP: QW0021LV = X'1E'            /** PAGE P LOCK **/
COMP: QW0021LX = X'1F'            /** DDF CDB P lock **/
COMP: QW0021LY = X'20'            /** Group Buffer Pool level **/
COMP: QW0021LZ = X'21'            /** Pageset or partition level **/
COMP: QW0021M0 = X'22'            /** RLF P lock **/
COMP: QW0021M1 = X'23'            /** DBD P lock **/
COMP: QW0021M2 = X'24'           /** CATMAINT convert directory lock**/
COMP: QW0021M3 = X'25'            /** CATMAINT convert catalog lock **/
COMP: QW0021M4 = X'26'            /** CATMAINT migration **/
COMP: QW0021M5 = X'27'            /** Database exception LPL/GRECP **/
COMP: QW0021M6 = X'28'            /** Utility UID lock **/
COMP: QW0021M7 = X'29'            /** Utility exclusive execution **/
COMP: QW0021M8 = X'2A'            /** SCA access for restart/redo **/
COMP: QW0021M9 = X'2B'           /** Database exception update lock **/
COMP: QW0021MA = X'2C'            /** REPAIR DBD TEST/DIAGNOSE **/
COMP: QW0021MB = X'2D'           /** Database command serialization **/
COMP: QW0021ML = X'30'            /** LOB lock **/
COMP: QW0021MM = X'32'            /** LPL recovery lock **/
COMP: QW0021MX = X'2F'            /*(S)* **/
COMP: QW002100 = X'FF'            /*(S)* **/
FLD: QW0021RN LEN(28) DISP(40)
                              /** LOCKED RESOURCE NAME (FOR P LOCKS **/
*                       *  QW0021Z1 IS SET - USE THE QW0021PL    *
*                       *  MAPPING BELOW).                       *
FLD: QW0021KD LEN(2) DISP(40)     /** () DATABASE ID *SEE 5. BELOW **/
FLD: QW0021KB LEN(2) DISP(42)
                             /** () TABLE RECORD OBID *SEE 5. BELOW **/
FLD: QW0021KP LEN(2) DISP(42)
                           /** () PAGESET OBID OR TABLE RECORD OBID **/
FLD: QW0021KR LEN(4) DISP(44)
                          /** ID of small resource when QW0021KL 12 **/
FLD: QW0021K1 LEN(3) DISP(44)
                             /** 1. For pageset or data base locks, **/
FLD: QW0021K2 LEN(1) DISP(47)   /** QW0021K1 and QW0021K2 are zero. **/
FLD: QW0021KY LEN(5) DISP(44)
                          /** ID of small resource when QW0021KL 13 **/
FLD: QW0021K4 LEN(4) DISP(44)     /** page number **/
FLD: QW0021K5 LEN(1) DISP(48)     /** record id within page **/
FLD: QW0021KX LEN(19) DISP(44)    /** ID of resource for LOB locks **/
FLD: QW0021K6 LEN(17) DISP(44)    /** Row ID **/
FLD: QW0021K7 LEN(2) DISP(61)     /** Version number **/
FLD: QW0021FC LEN(1) DISP(68)     /** IRLM FUNCTION CODE **/
COMP: QW0021LO = X'02'            /** LOCK FUNCTION **/
COMP: QW0021UN = X'03'            /** UNLOCK FUNCTION **/
COMP: QW0021CH = X'04'            /** CHANGE FUNCTION **/
FLD: QW0021ST LEN(1) DISP(69)     /** LOCK STATE **/
COMP: QW0021S0 = X'00'            /*(S)* **/
COMP: QW0021S1 = X'01'            /** RESERVED **/
COMP: QW0021S2 = X'02'            /** INTENTED SHARE **/
COMP: QW0021S3 = X'03'            /** INTENTED EXCLUSIVE **/
COMP: QW0021S4 = X'04'            /** SHARED **/
COMP: QW0021S5 = X'05'            /** UPDATE **/
COMP: QW0021S6 = X'06'            /** SHARED INTENT EXCLUSIVE **/
COMP: QW0021S7 = X'07'            /** NON SHARED UPDATE **/
COMP: QW0021S8 = X'08'            /** EXCLUSIVE **/
FLD: QW0021DR LEN(1) DISP(70)     /** LOCK DURATION **/
COMP: QW002120 = X'20'            /** MANUAL **/
COMP: QW002121 = X'21'            /** MANUAL+1 **/
COMP: QW002140 = X'40'            /** COMMIT **/
COMP: QW002141 = X'41'            /** COMMIT+1 **/
COMP: QW002160 = X'60'            /** ALLOCATION **/
COMP: QW002180 = X'80'            /** PLAN **/
COMP: QW002181 = X'81'            /** UTIL @65**/
COMP: QW0021FE = X'FE'            /** INTEREST DURATION **/
COMP: QW0021FF = X'FF'            /** DURATION TO FREE ALL LOCKS **/
FLD: QW0021CL LEN(1) DISP(71)     /** (S) **/
FLD: QW0021FL LEN(1) DISP(72)     /** Flags **/
COMP: QW0021CD = X'80'            /*(S)* **/
COMP: QW0021AQ = X'40'            /*(S)* **/
COMP: QW0021US = X'20'            /*(S)* **/
COMP: QW0021SY = X'10'            /*(S)* **/
COMP: QW0021PR = X'08'            /*(S)* **/
COMP: QW0021RS = X'04'            /*(S)* **/
COMP: QW0021MD = X'02'            /** ON MODIFY LOCK **/
COMP: QW0021FO = X'01'        /** ON Force request for data sharing **/
FLD: QW0021F2 LEN(1) DISP(73)     /*(S)* **/
COMP: QW0021J3 = X'20'            /*(S)* **/
COMP: QW0021J4 = X'10'            /*(S)* **/
COMP: QW0021J5 = X'08'            /*(S)* **/
COMP: QW0021J6 = X'04'            /*(S)* **/
COMP: QW0021J7 = X'02'            /*(S)* **/
FLD: QW0021F3 LEN(1) DISP(74)     /** Flags **/
COMP: QW0021Y1 = X'80'            /** 1 REQUEST WAS SENT TO SLM **/
COMP: QW0021Y2 = X'40'            /** 1 ASYNCHRONOUS SLM REQUEST **/
FLD: QW0021PF LEN(1) DISP(75)     /** P LOCK FLAG BYTE **/
COMP: QW0021Z1 = X'80'       /** 1 P LOCK REQUEST (SEE THE QW0021PL **/
COMP: QW0021Z2 = X'40'            /*(S)* **/
COMP: QW0021Z3 = X'20'            /*(S)* **/
COMP: QW0021Z4 = X'10'            /*(S)* **/
FLD: QW0021FB LEN(8) DISP(76)     /** IRLM FEEDBACK AREA **/
FLD: QW0021SC LEN(4) DISP(76)     /** RETURN SUBCODES **/
FLD: QW0021FT LEN(4) DISP(80)
                             /** RETURNED TOKEN FROM IRLM ON A LOCK **/
*                         - THIS VALUE SHOULD MATCH QW0021RT
*                           IN THE CORRESPONDING UNLOCK RECORD
FLD: QW0021PT LEN(4) DISP(84)    /** Parent lock token for explicit **/
*                       *  hierarchical locking.  This token is  *
*                       *  only significant when DB2 is a member *
*                       *  of a data sharing group.  If non-zero *
*                       *  then this request is for a child of   *
*                       *  a parent that has already been locked.*
*                       *  This value should match the QW0021FT  *
*                       *  field of the previously locked parent.*
*                       *  QW0021PT only applies for lock        *
*                       *  requests (QW0021FC=QW0021LO).         *
FLD: QW0021GF LEN(1) DISP(88)     /** GLOBAL LOCK FLAG BYTE **/
COMP: QW0021G1 = X'80'            /** 1 GLOBAL LOCK **/
FLD: QW0021CS LEN(1) DISP(89)     /** CACHED STATE OF THE P LOCK **/
*                       *  - QW0021CS ONLY APPLIES IF QW0021Z1 IS*
*                       *    SET AND QW0021KT=QW0021LU.          *
FLD: QW0021IR TYPE(HALF) DISP(90) /*(S)* **/
FLD: QW0021SN LEN(8) DISP(92)     /** DB2 Member name of **/
*                       *  A) Owner of an incompatible retained  *
*                       *     lock on this resource that caused  *
*                       *     this request to be denied OR       *
*                       *  B) Owner of an incompatible held lock *
*                       *     on this resource that caused this  *
*                       *     request to timeout.                *
*                       * If not one of the above conditions,    *
*                       * then this field is hex zeros.          *
FLD: QW0021CT LEN(4) TYPE(BIN) DISP(100)                     /*(S)* **/
*
FLD: QW0021PL LEN(28) DISP(40)
                          /** Locked P lock resource name. Use this **/
*                       *  overlay for most P-lock lock types    *
*                       *  (i.e. when QW0021Z1 is set).          *
*                       * Descriptions of the mappings for each  *
*                       * P-lock type are given below.  In the   *
*                       * descriptions, if a field is not        *
*                       * mentioned, it will be set to hex zeros.*
FLD: QW0021P8 LEN(8) DISP(40)
FLD: QW0021P1 LEN(1) DISP(40)
FLD: QW0021P2 LEN(2) DISP(42)
FLD: QW0021P3 LEN(2) DISP(44)
FLD: QW0021P4 LEN(2) DISP(46)
FLD: QW0021P5 LEN(3) DISP(48)
FLD: QW0021A  LEN(28) DISP(40)    /** Locked resource name **/
FLD: QW0021A0 LEN(1) DISP(40)     /** Data Manager RMID **/
FLD: QW0021A1 LEN(5) DISP(41)     /** Constant 'GDBET' **/
FLD: QW0021A6 LEN(2) DISP(46)     /** Database exception hash class **/
*                       * number (1-64)                          *
***********************************************************************
**** QW0022   DSECT               IFCID(QWHS0022)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0022, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00022')
***********************************************************************
COMP: QW0022_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>22 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0022   DISP(0) LEN(1) OFFSET(QW0022_OFFSET)  /*IFCID(QWHS0022)*/
* LOCATED OUT OF QWT02R1O
FLD: QW0022QN LEN(4) TYPE(BIN) DISP(0)                /*QUERY NUMBER.*/
FLD: QW0022QB TYPE(HALF) DISP(4)  /*QUERY BLOCK NUMBER.*/
FLD: QW0022PQ TYPE(HALF) DISP(6)  /*PARENT QUERY BLOCK NUMBER.*/
FLD: QW0022GM LEN(8) DISP(8)      /*GROUP MEMBER.*/
FLD: QW0022AL LEN(8) DISP(16)     /*APPLICATION NAME.*/
FLD: QW0022PN LEN(8) DISP(24)     /*PLAN NAME*/
FLD: QW0022CI LEN(18) DISP(32)    /*COLLECTION ID.*/
FLD: QW0022PG LEN(8) DISP(50)     /*PROGRAM NAME.*/
FLD: QW0022CT LEN(8) DISP(58)     /*CONSISTENCY TOKEN.*/
FLD: QW0022VL TYPE(HALF) DISP(66) /*VERSION LENGTH.*/
FLD: QW0022VN LEN(64) DISP(68)    /*VERSION.*/
FLD: QW0022OS LEN(4) DISP(132)    /*COST FOR THE SQL STATEMENT*/
*                                      (FLOAT)
FLD: QW0022LC TYPE(HALF) DISP(136)/*(S)*/
FLD: QW0022GC TYPE(HALF) DISP(138)/*(S)*/
FLD: QW0022RP LEN(1) DISP(140) /*Query Parallelism is disabled by the*/
*                                 RLF for dynamic queries.  Possible
*                                 values are:
*                                 X'00' = 0   If RLF governing does not
*                                             affect this statement
*                                 X'01' = 1   If Query I/O Parallelism
*                                             disabled
*                                 X'02' = 2   If Query CPU Parallelism
*                                             disabled
*                                 X'03' = 3   If Query I/O and CPU
*                                             Parallelism disabled
*                                 X'04' = 4   If Multi-CEC Parallelism
*                                             disabled
*                                 X'05' = 5   If Multi-CEC and
*                                             I/O Parallelism disabled
*                                 X'06' = 6   If Multi-CEC and
*                                             CPU Parallelism disabled
*                                 X'07' = 7   If Multi-CEC, I/O
*                                             and CPU Parallelism
*                                             disabled (All query
*                                             parallelism disabled)
*                                 X'FF' = 255 RLF Query Parallelism is
*                                             not applicable for this
*                                             statement
FLD: QW0022RX LEN(2) DISP(142)    /*X'0000' 0: Access path determined*/
*                                   at bind time using default values
*                                 X'0001' =   1: Access path determined
*                                   at bind time using default values
*                                   but will be reoptimized at
*                                   execution time using values of
*                                   input variables
*                                 X'0002' =   2: Access path determined
*                                    at execution time using values of
*                                    input variables
FLD: QW0022TS LEN(16) DISP(144)   /*TIMESTAMP.*/
FLD: QW0022QT LEN(6) DISP(160)    /*Statement type*/
FLD: QW0022BT LEN(10) DISP(166)   /*Bind Time*/
FLD: QW0022CE LEN(4) TYPE(BIN) DISP(176)
                                /*Processor Cost Estimate (millisecs)*/
FLD: QW0022AS LEN(4) TYPE(BIN) DISP(180)
                                  /*Processor Cost Estimate (SU)*/
FLD: QW0022CC LEN(1) DISP(184)    /*COST CATEGORY*/
COMP: QW0022AC = 'A'              /*CATEGORY A*/
COMP: QW0022BC = 'B'              /*CATEGORY B*/
COMP: QW0022B = X'40'             /*NOT PROVIDED*/
FLD: QW0022RS LEN(1) DISP(185)    /*COST CATEGORY B REASON CODE*/
COMP: QW0022RH = X'80'            /*1 IF THERE ARE HOST VARIABLES*/
COMP: QW0022RT = X'40'            /*1 IF TABLE CARD IS MISSING*/
COMP: QW0022RG = X'20'            /*1 IF TRIGGERS MAY BE USED*/
COMP: QW0022RF = X'10'            /*1 IF UDFS MIGHT BE INVOKED*/
COMP: QW0022RR = X'08'            /*1 IF REFERENTIAL CONSTRAINTS*/
COMP: QW0022RV = X'04'            /*1 IF HAVING CLAUSE*/
FLD: QW0022QO LEN(8) DISP(188)    /*OPTIMIZATION HINT identifier*/
FLD: QW0022FG LEN(1) DISP(196)    /*FLAGS*/
COMP: QW0022HT = X'80'            /*1 IF OPTIMIZATION HINTS WERE USED*/
FLD: QW0022CO LEN(4) DISP(200)    /*(S) (FLOAT)*/
*
FLD: QW0022PL TYPE(HALF) DISP(0)  /*PLAN NUMBER.*/
FLD: QW0022MN TYPE(HALF) DISP(2)  /*NUMBER OF INDEX ACCESS OPERATIONS*/
*                                 0 IF NOT INDEX ACCESS
FLD: QW0022I  LEN(4) DISP(4)      /*IDENTIFIER*/
FLD: QW0022DD LEN(2) DISP(4)      /*DBID*/
FLD: QW0022OB LEN(2) DISP(6)      /*RECORD OBID*/
FLD: QW0022CN LEN(18) DISP(8)     /*TABLE CORRELATION NAME.*/
FLD: QW0022CR LEN(8) DISP(26)     /*TABLE CREATOR.*/
FLD: QW0022TN LEN(18) DISP(34)    /*TABLE NAME*/
FLD: QW0022LM LEN(3) DISP(52)     /*TABLESPACE LOCK MODE.*/
FLD: QW0022Z  LEN(1) DISP(55)     /*flags*/
COMP: QW0022CD = X'80'            /*1 IF COLUMN FUNCTION EVALUATED AT*/
COMP: QW0022CS = X'40'            /*1 IF COLUMN FUNCTION EVALUATED AT*/
FLD: QW0022BP LEN(4) TYPE(BIN) DISP(56)                         /*(S)*/
*     MINI-PLANS GENERATED BY OPTIMIZER
*   ONE MINI PLAN IS GENERATED PER TABLE PER SUBSELECT BLOCK IN THE
*   QUERY. SOME FIELDS BELOW ARE ALSO PRESENT IN THE PLAN TABLE
*   OF THE EXPLAIN FUNCTION. SEE THE EXPLAIN FUNCTION FOR ADDITIONAL
*   INFORMATION.
FLD: QW0022NI LEN(20) DISP(60)    /*MINIPLAN*/
FLD: QW0022OD TYPE(HALF) DISP(60) /*ACCESS METHOD*/
*        0,  1,  2,  3 = FIRST TABLE ACCESSED
*        4,  5,  6,  7 = NESTED-LOOP JOIN
*        8,  9, 10, 11 = MERGE-SCAN JOIN
*       12, 13, 14, 15 = HYBRID JOIN
FLD: QW0022BX TYPE(HALF) DISP(62) /*(S)*/
FLD: QW0022YP LEN(1) DISP(64)     /*ACCESS TYPE*/
*       'R', 'S', 'W'                     = TABLE SPACE SCAN
*       'I', 'N', 'B', 'X', 'Y', 'Z', '1' = INDEX SCAN
FLD: QW0022DT LEN(1) DISP(65)     /*PAGE RANGE FLAG.*/
COMP: QW0022PR = X'40'            /*1 IF PAGE RANGE SCAN*/
FLD: QW0022ID TYPE(HALF) DISP(66) /*(S)*/
FLD: QW0022LR LEN(4) TYPE(BIN) DISP(68)                         /*(S)*/
FLD: QW0022TR LEN(4) TYPE(BIN) DISP(72)
                                  /*PTR TO NEXT MINIPLAN IN LIST*/
*                                 ZERO IF LAST
FLD: QW0022DX TYPE(HALF) DISP(76) /*(S)*/
FLD: QW0022AG LEN(1) DISP(78)     /*FLAG FOR NEW (JOIN) TABLE*/
*                                 (I.E. INNER TABLE)
COMP: QW0022BL = X'80'            /*SUMMARY FIELD, 1 IF ANY OTHER*/
COMP: QW0022IN = X'40'            /*1 IF SORT KEY IS JOIN PREDICATE*/
COMP: QW0022DB = X'20'            /*1 IF SORT KEY IS ORDERBY LIST*/
COMP: QW0022PB = X'10'            /*1 IF SORT KEY IS GROUPBY LIST*/
COMP: QW0022IQ = X'08'            /*1 IF SORT SHOULD ELIMINATE*/
COMP: QW0022UN = X'04'            /*1 IF SORT KEY IS SET FUNCTION*/
COMP: QW0022EF = X'02'            /*1 IF PREFETCH*/
COMP: QW0022ES = X'01'            /*SORT ON RESULT FOR ORDER BY*/
FLD: QW0022A2 LEN(1) DISP(79)     /*FLAG FOR THE JOIN COMPOSITE*/
*                                 TABLE
COMP: QW0022CM = X'80'            /*SUMMARY FIELD, 1 IF ANY OTHER*/
COMP: QW00222J = X'40'            /*1 IF SORT KEY IS JOIN PREDICAT*/
COMP: QW00222O = X'20'            /*1 IF SORT KEY IS ORDERBY LIST*/
COMP: QW00222G = X'10'            /*1 IF SORT KEY IS GROUP BY LIST*/
COMP: QW00222Q = X'08'            /*1 IF SORT SHOULD ELIMINATE DUP*/
COMP: QW00222N = X'04'            /*1 IF SORT KEY IS SET FUNCTION*/
FLD: QW0022P1 TYPE(HALF) DISP(80) /*ACCESS_DEGREE THE DEGREE OF*/
*                                 PARALLELISM TO ACCESS THE NEW
*                                 TABLE.
FLD: QW0022P2 TYPE(HALF) DISP(82) /*ACCESS_PGROUP_ID THE PARALLEL*/
*                                 GROUP FOR ACCESSING THE NEW TABLE
FLD: QW0022P3 TYPE(HALF) DISP(84) /*JOIN_DEGREE THE DEGREE OF*/
*                                 PARALLELISM TO JOIN THE NEW TABLE.
*                                 FOR EXAMPLE, ACCESS AND JOIN ARE TWO
*                                 SEPARATE STEPS IN A SORT MERGE JOIN.
*                                 EACH STEP CAN BE EXECUTED IN A
*                                 DIFFERENT DEGREE OF PARALLELISM.
FLD: QW0022P4 TYPE(HALF) DISP(86)
                              /*HALF WORD INTEGER FOR JOIN_PGROUP_ID.*/
*                                 THE PARALLEL GROUP FOR JOINING THE
*                                 NEW TABLE.  FOR EXAMPLE, ACCESS AND
*                                 JOIN ARE TWO SEPARATE STEPS IN A
*                                 SORT MERGE JOIN.  EACH STEP CAN BE
*                                 EXECUTED IN DIFFERENT PARALLEL
*                                 GROUPS.
FLD: QW0022P5 LEN(4) DISP(88)     /*(S)*/
FLD: QW0022JC TYPE(HALF) DISP(92) /*NUMBER OF MERGE JOIN COLUMNS.*/
FLD: QW0022CL TYPE(HALF) DISP(94) /*(S)*/
FLD: QW0022AP LEN(4) TYPE(BIN) DISP(96)                         /*(S)*/
FLD: QW0022JP LEN(4) TYPE(BIN) DISP(100)                        /*(S)*/
FLD: QW0022JT LEN(1) DISP(104)    /*'L' FOR LEFT OUTER JOIN.*/
*                                 'F' FOR FULL OUTER JOIN.
*                                 ' ' FOR INNER JOIN.
*                                 'S' FOR STAR JOIN.
*                                X'00' FOR NO JOIN.
FLD: QW0022WF LEN(1) DISP(105)    /*(S)*/
FLD: QW0022P6 TYPE(HALF) DISP(106)/*SORT NEW PARALLEL GROUP ID.*/
FLD: QW0022P7 TYPE(HALF) DISP(108)
                                  /*SORT COMPOSITE PARALLEL GROUP ID.*/
FLD: QW0022PM LEN(1) DISP(110)    /*PARALLEL MODE.*/
*                                 'C' = QUERY CPU PARALLELISM
*                                 'I' = QUERY I/O PARALLELISM
*                                 'X' = MULTI-CEC PARALLELISM
*                                X'00' = NO PARALLELISM
FLD: QW0022XX LEN(5) DISP(111)    /*(S)*/
FLD: QW0022DS LEN(4) DISP(116)    /*(S)*/
FLD: QW0022DR LEN(4) DISP(120)    /*(S)*/
FLD: QW0022RD LEN(4) DISP(124)    /*(S)*/
FLD: QW0022PA LEN(1) DISP(128)    /*'D' if Direct Access is possible*/
FLD: QW0022CY LEN(4) DISP(132)  /*Table Cardinality in floating point*/
FLD: QW0022NP LEN(4) TYPE(BIN) DISP(136)  /*Number of pages for table*/
FLD: QW0022F2 LEN(1) DISP(141)    /*FLAGS*/
COMP: QW0022SJ = X'10'         /*YES IF THIS TABLE IS STARJOIN BY DM.*/
FLD: QW0022TT LEN(1) DISP(142)    /*Table type: 'T','F','W','Q'*/
FLD: QW0022MS TYPE(HALF) DISP(0)  /*INDEX ACCESS SEQUENCE NUMBER*/
FLD: QW0022XM TYPE(HALF) DISP(2)  /*NUMBER OF MATCH COLUMNS*/
FLD: QW0022XC LEN(8) DISP(4)      /*INDEX CREATOR*/
FLD: QW0022XN LEN(18) DISP(12)    /*INDEX NAME*/
FLD: QW0022MO LEN(1) DISP(30)     /*TYPE OF INDEX ACCESS OPERATION*/
COMP: QW0022MX = X'80'            /*1 IF INDEX SCAN*/
COMP: QW0022MI = X'40'            /*1 IF INDEX INTERSECTION*/
COMP: QW0022MU = X'20'            /*1 IF INDEX UNION*/
FLD: QW0022XF LEN(1) DISP(31)     /*INDEX ACCESS FLAGS*/
COMP: QW0022XO = X'80'            /*1 IF INDEX ONLY*/
COMP: QW0022SP = X'40'            /*1 IF SEQUENTIAL PREFETCH*/
COMP: QW0022LP = X'20'            /*1 IF LIST PREFETCH*/
FLD: QW0022FF LEN(4) DISP(32)     /*(S)*/
***********************************************************************
**** QW0023   DSECT               IFCID(QWHS0023)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0023, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00023')
***********************************************************************
COMP: QW0023_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>23 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0023   DISP(0) LEN(1) OFFSET(QW0023_OFFSET)  /*IFCID(QWHS0023)*/
FLD: QW0023ID LEN(16) DISP(0)     /*UTILITY ID*/
FLD: QW0023DB LEN(2) DISP(16)     /*DBID NORMALLY ZERO*/
FLD: QW0023PD LEN(2) DISP(18)     /*PSID NORMALLY ZERO*/
FLD: QW0023NM LEN(8) DISP(20)     /*UTILITY NAME*/
FLD: QW0023PH LEN(8) DISP(28)     /*PHASE*/
FLD: QW0023R1 LEN(4) TYPE(BIN) DISP(36)     /*REQUESTED SUBTASK COUNT*/
FLD: QW0023PT LEN(4) TYPE(BIN) DISP(40)                    /*RESERVED*/
FLD: QW0023NA LEN(8) DISP(44)     /*RESERVED*/
FLD: QW0023PN LEN(8) DISP(52)     /*RESERVED*/
FLD: QW0023DN LEN(8) DISP(60)     /*UTILITY KEYWORD INVOCATION FLAGS*/
FLD: QW0023FA LEN(1) DISP(60)     /*KEYWORD FLAGS 1*/
COMP: QW0023A1 = X'80'            /*COPY CONCURRENT*/
COMP: QW0023A2 = X'40'            /*COPY SHRLEVEL CHANGE*/
COMP: QW0023A3 = X'20'            /*COPY PARALLEL*/
COMP: QW0023A4 = X'10'            /*COPY CHECKPAGE*/
COMP: QW0023A5 = X'08'            /*RESERVED*/
COMP: QW0023A6 = X'04'            /*RESERVED*/
COMP: QW0023A7 = X'02'            /*RECOVER REUSE*/
COMP: QW0023A8 = X'01'            /*RECOVER PARALLEL*/
FLD: QW0023FB LEN(1) DISP(61)     /*KEYWORD FLAGS 2*/
COMP: QW0023B1 = X'80'            /*LOAD KEEPDICTIONARY*/
COMP: QW0023B2 = X'40'            /*LOAD REUSE*/
COMP: QW0023B3 = X'20'            /*LOAD LOG NO*/
COMP: QW0023B4 = X'10'            /*LOAD SORTKEYS*/
COMP: QW0023B5 = X'08'            /*LOAD SHRLEVEL CHANGE*/
COMP: QW0023B6 = X'04'            /*LOAD COPYDDN*/
COMP: QW0023B7 = X'02'            /*LOAD STATISTICS*/
COMP: QW0023B8 = X'01'            /*LOAD PART INDDN*/
FLD: QW0023FC LEN(1) DISP(62)     /*KEYWORD FLAGS 3*/
COMP: QW0023C1 = X'80'            /*RESERVED*/
COMP: QW0023C2 = X'40'            /*RESERVED*/
COMP: QW0023C3 = X'20'            /*RESERVED*/
COMP: QW0023C4 = X'10'            /*RESERVED*/
COMP: QW0023C5 = X'08'            /*RESERVED*/
COMP: QW0023C6 = X'04'            /*RESERVED*/
COMP: QW0023C7 = X'02'            /*RESERVED*/
COMP: QW0023C8 = X'01'            /*RESERVED*/
FLD: QW0023FD LEN(1) DISP(63)     /*KEYWORD FLAGS 4*/
COMP: QW0023D1 = X'80'            /*REORG KEEPDICTIONARY*/
COMP: QW0023D2 = X'40'            /*REORG REUSE*/
COMP: QW0023D3 = X'20'            /*REORG LOG NO*/
COMP: QW0023D4 = X'10'            /*REORG SORTKEYS*/
COMP: QW0023D5 = X'08'            /*REORG SORTDATA*/
COMP: QW0023D6 = X'04'            /*REORG NOSYSREC*/
COMP: QW0023D7 = X'02'            /*REORG SHRLEVEL CHANGE*/
COMP: QW0023D8 = X'01'            /*REORG SHRLEVEL REFERENCE*/
FLD: QW0023FE LEN(1) DISP(64)     /*KEYWORD FLAGS 5*/
COMP: QW0023E1 = X'80'            /*REORG COPYDDN*/
COMP: QW0023E2 = X'40'            /*REORG STATISTICS*/
COMP: QW0023E3 = X'20'            /*REORG FASTSWITCH*/
COMP: QW0023E4 = X'10'            /*RESERVED*/
COMP: QW0023E5 = X'08'            /*RESERVED*/
COMP: QW0023E6 = X'04'            /*RESERVED*/
COMP: QW0023E7 = X'02'            /*RESERVED*/
COMP: QW0023E8 = X'01'            /*RESERVED*/
FLD: QW0023FF LEN(1) DISP(65)     /*KEYWORD FLAGS 6*/
COMP: QW0023F1 = X'80'            /*REBUILD REUSE*/
COMP: QW0023F2 = X'40'            /*REBUILD SORTKEYS*/
COMP: QW0023F3 = X'20'            /*REBUILD STATISTICS*/
COMP: QW0023F4 = X'10'            /*REBUILD WORKDDN*/
COMP: QW0023F5 = X'08'            /*RESERVED*/
COMP: QW0023F6 = X'04'            /*RESERVED*/
COMP: QW0023F7 = X'02'            /*RESERVED*/
COMP: QW0023F8 = X'01'            /*RESERVED*/
FLD: QW0023FG LEN(1) DISP(66)     /*KEYWORD FLAGS 7*/
COMP: QW0023G1 = X'80'            /*RUNSTATS SAMPLE*/
COMP: QW0023G2 = X'40'            /*RUNSTATS SHRLEVEL CHANGE*/
COMP: QW0023G3 = X'20'            /*RESERVED*/
COMP: QW0023G4 = X'10'            /*RESERVED*/
COMP: QW0023G5 = X'08'            /*RESERVED*/
COMP: QW0023G6 = X'04'            /*RESERVED*/
COMP: QW0023G7 = X'02'            /*RESERVED*/
COMP: QW0023G8 = X'01'            /*RESERVED*/
FLD: QW0023FH LEN(1) DISP(67)     /*KEYWORD FLAGS 8*/
COMP: QW0023H1 = X'80'            /*UNLOAD SHRLEVEL REFERENCE*/
COMP: QW0023H2 = X'40'          /*UNLOAD SHRLEVEL CHANGE ISOLATION CS*/
COMP: QW0023H3 = X'20'          /*UNLOAD SHRLEVEL CHANGE ISOLATION UR*/
COMP: QW0023H4 = X'10'            /*RESERVED*/
COMP: QW0023H5 = X'08'            /*RESERVED*/
COMP: QW0023H6 = X'04'            /*RESERVED*/
COMP: QW0023H7 = X'02'            /*RESERVED*/
COMP: QW0023H8 = X'01'            /*RESERVED*/
***********************************************************************
**** QW0024   DSECT               IFCID(QWHS0024)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0024, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00024')
***********************************************************************
COMP: QW0024_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>24 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0024   DISP(0) LEN(1) OFFSET(QW0024_OFFSET)  /*IFCID(QWHS0024)*/
FLD: QW0024ID LEN(16) DISP(0)     /*UTILITY ID*/
FLD: QW0024DB LEN(2) DISP(16)     /*DBID MAY BE ZERO*/
FLD: QW0024PD LEN(2) DISP(18)     /*PSID MAY BE ZERO*/
FLD: QW0024NM LEN(8) DISP(20)     /*UTILITY NAME*/
FLD: QW0024PH LEN(8) DISP(28)     /*PHASE*/
FLD: QW0024R1 LEN(4) TYPE(BIN) DISP(36)       /*CURRENT SUBTASK COUNT*/
FLD: QW0024PT LEN(4) TYPE(BIN) DISP(40)
                                  /*PARTITION OR DATA SET NUMBER*/
FLD: QW0024NA LEN(8) DISP(44)     /*DATA BASE NAME*/
FLD: QW0024PN LEN(8) DISP(52)     /*TABLE SPACE/INDEX NAME*/
FLD: QW0024DN LEN(8) DISP(60)
                       /*NUMBER OF ITEMS PROCESSED FOR PREVIOUS PHASE*/
*                            E.G. RECORDS FOR RUNSTATS, PAGES FOR COPY
*                                 PAGES WRITTEN FOR RECOVER, ETC...
*
*
********************************************************************
* IFC ID 0025 FOR RMID 21 RECORDS UTILITY END INFORMATION          *
********************************************************************
*
***********************************************************************
**** QW0025   DSECT               IFCID(QWHS0025)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0025, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00025')
***********************************************************************
COMP: QW0025_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>25 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0025   DISP(0) LEN(1) OFFSET(QW0025_OFFSET)  /*IFCID(QWHS0025)*/
FLD: QW0025ID LEN(16) DISP(0)     /*UTILITY ID*/
FLD: QW0025DB LEN(2) DISP(16)     /*DBID*/
FLD: QW0025PD LEN(2) DISP(18)     /*PSID*/
FLD: QW0025NM LEN(8) DISP(20)     /*UTILITY NAME*/
FLD: QW0025PH LEN(8) DISP(28)     /*PHASE*/
FLD: QW0025R1 LEN(4) TYPE(BIN) DISP(36)         /*FINAL SUBTASK COUNT*/
FLD: QW0025PT LEN(4) TYPE(BIN) DISP(40)                    /*RESERVED*/
FLD: QW0025NA LEN(8) DISP(44)     /*RESERVED*/
FLD: QW0025PN LEN(8) DISP(52)     /*RESERVED*/
FLD: QW0025DN LEN(8) DISP(60)
                       /*NUMBER OF ITEMS PROCESSED FOR PREVIOUS PHASE*/
*                            E.G. RECORDS FOR RUNSTATS, PAGES FOR COPY
*                                 PAGES WRITTEN FOR RECOVER, ETC...
*
*

*/********************************************************************/
*/* IFC ID 0100 FOR RMID 06 RECORDS BEFORE GETMAIN/FREEMAIN FOR      */
*/* POOL RELATED STORAGE (EXPANSION OR CONTRACTION).                 */
*/********************************************************************/
*
***********************************************************************
**** QW0100   DSECT               IFCID(QWHS0100)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0100, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00100')
***********************************************************************
COMP: QW0100_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>100 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0100   DISP(0) LEN(1) OFFSET(QW0100_OFFSET)  /*IFCID(QWHS0100)*/
FLD: QW0100T  LEN(1) DISP(0)      /*TYPE OF REQUEST*/
COMP: QW0100TC = 'C'              /*CONTRACT SHORT FORM*/
COMP: QW0100TE = 'E'              /*EXPAND SHORT FORM*/
COMP: QW0100TX = 'X'              /*EXPAND LONG FORM*/
COMP: QW0100TG = 'G'              /*GETMAIN SHORT FORM*/
COMP: QW0100TF = 'F'              /*FREEMAIN SHORT FORM*/
FLD: QW0100C  LEN(2) DISP(1)      /*TYPE OF CONDITION*/
COMP: QW0100CC = 'RC'             /*CONDITIONAL*/
COMP: QW0100CU = 'RU'             /*UNCONDITIONAL*/
FLD: QW0100SC LEN(1) DISP(3)      /*(S)*/
FLD: QW0100AM LEN(4) TYPE(BIN) DISP(4)  /*AMOUNT OF STORAGE REQUESTED*/
FLD: QW0100PH LEN(24) DISP(8)     /*(S)*/
FLD: QW0100SF LEN(4) TYPE(BIN) DISP(32)           /*END OF SHORT FORM*/
** END OF SHORT FORM
FLD: QW0100SB TYPE(STCKTIME) DISP(32)
                                  /*STORE CLOCK BEFORE GETMAIN TYPE X*/
FLD: QW0100SA TYPE(STCKTIME) DISP(40)
                                  /*STORE CLOCK AFTER GETMAIN TYPE X*/
FLD: QW0100RC LEN(4) TYPE(BIN) DISP(48)          /*RETURN CODE TYPE X*/
FLD: QW0100LF LEN(4) TYPE(BIN) DISP(52)            /*END OF LONG FORM*/
*   (S) = FOR SERVICEABILITY
*
*
*/********************************************************************/
*/* IFC ID 0101 FOR RMID 06 RECORDS AFTER IFCID 0100 GETMAIN/FREEMAIN*/
*/********************************************************************/
*
***********************************************************************
**** QW0101   DSECT               IFCID(QWHS0101)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0101, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00101')
***********************************************************************
COMP: QW0101_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>101 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0101   DISP(0) LEN(1) OFFSET(QW0101_OFFSET)  /*IFCID(QWHS0101)*/
FLD: QW0101RC LEN(4) TYPE(BIN) DISP(0)     /*RETURN CODE 0 SUCCESSFUL*/
*
*
*/********************************************************************/
*/* IFC ID 0102 FOR RMID 06 RECORDS THE DETECTION OF SHORT ON STORAGE*/
*/********************************************************************/
*
***********************************************************************
**** QW0102   DSECT               IFCID(QWHS0102)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0102, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00102')
***********************************************************************
COMP: QW0102_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>102 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0102   DISP(0) LEN(1) OFFSET(QW0102_OFFSET)  /*IFCID(QWHS0102)*/
*
*
*/********************************************************************/
*/* IFC ID 0103 FOR RMID 06 RECORDS THE SETTING OFF OF SHORT ON      */
*/*             STORAGE                                              */
*/********************************************************************/
*
***********************************************************************
**** QW0103   DSECT               IFCID(QWHS0103)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0103, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00103')
***********************************************************************
COMP: QW0103_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>103 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0103   DISP(0) LEN(1) OFFSET(QW0103_OFFSET)  /*IFCID(QWHS0103)*/
FLD: QW0103SC TYPE(STCKTIME) DISP(0)               /*STORE CLOCK TIME*/
* RECORDED BY DSNSCTL, SFPL, SVPL, SGMN, SVBK, SFBK, SCON2
*
*
*/********************************************************************/
*/* IFC ID 0104 FOR RMID 04 RECORDS LOG DATA SET MAPPING             */
*/********************************************************************/
*
***********************************************************************
**** QW0104   DSECT               IFCID(QWHS0104)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0104, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00104')
***********************************************************************
COMP: QW0104_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>104 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0104   DISP(0) LEN(1) OFFSET(QW0104_OFFSET)  /*IFCID(QWHS0104)*/
*  THE FOLLOWING ITEMS REPEAT FOR EACH ACTIVE LOG.
*   LOCATED OUT OF QWT02R1O
FLD: QW0104DI LEN(8) DISP(0)      /*DATA SET IDENTIFIER*/
FLD: QW0104DN LEN(44) DISP(8)     /*DATA SET NAME ACTIVE LOG ONLY*/
*
*
*/********************************************************************/
*/* IFC ID 0105 FOR RMID 10 RECORDS INTERNAL DBID OBID TO THE        */
*/*  ACTUAL DATA BASE AND TABLE SPACE REFERENCED.                    */
*/* THE FOLLOWING ITEMS REPEAT FOR EACH COMBINATION AND THE          */
*/* MAXIMUM NUMBER OF REPEATABLE ITEMS IS 100 (DECIMAL).             */
*/* IF THE NUMBER OF REPEATABLE ITEMS EXCEEDS 100, ANOTHER           */
*/* IFCID 105 RECORD WILL BE GENERATED.                              */
*/* LOCATED OUT OF QWT02R1O                                          */
*/********************************************************************/
*
***********************************************************************
**** QW0105   DSECT               IFCID(QWHS0105)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0105, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00105')
***********************************************************************
COMP: QW0105_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>105 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0105   DISP(0) LEN(1) OFFSET(QW0105_OFFSET)  /*IFCID(QWHS0105)*/
FLD: QW0105DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0105OB LEN(2) DISP(2)      /*PAGESET OBID (PSID)*/
FLD: QW0105DN LEN(8) DISP(4)      /*DATA BASE NAME*/
FLD: QW0105TN LEN(8) DISP(12)     /*TABLE SPACE NAME*/

**********************************************************************
***                    IFCIDS 0140 - 200                             *
**********************************************************************
*
***********************************************************************
*          THE SECTION IS LOCATED OUT OF QWT02R1O
***********************************************************************
*
***********************************************************************
*        IFCID 0140 RECORDS AUTHORIZATION FAILURES **
***********************************************************************
*
***********************************************************************
**** QW0140   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0140, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00140')
***********************************************************************
COMP: QW0140_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>140 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0140   DISP(0) LEN(1) OFFSET(QW0140_OFFSET)
*
FLD: QW0140PR TYPE(HALF) DISP(0)  /*PRIVILEGE BEING CHECKED*/
*
* **..................QW0140PR  CONSTANTS............................**
COMP: QW0140SL = 12               /*START RLIMIT*/
COMP: QW0140PL = 13               /*STOP RLIMIT*/
COMP: QW0140DL = 14               /*DISPLAY RLIMIT*/
COMP: QW0140CA = 15               /*CREATE ALIAS*/
COMP: QW0140M1 = 16               /*MONITOR1*/
COMP: QW0140M2 = 17               /*MONITOR2*/
COMP: QW0140CU = 19               /*CHECK UTILITY*/
COMP: QW0140DX = 20               /*DROP ALIAS*/
COMP: QW0140DM = 21              /*DDF COMMAND START, STOP, OR CANCEL*/
COMP: QW0140S = 50                /*SELECT*/
COMP: QW0140I = 51                /*INSERT*/
COMP: QW0140D = 52                /*DELETE*/
COMP: QW0140U = 53                /*UPDATE*/
COMP: QW0140R = 54                /*REFERENCES*/
COMP: QW0140TR = 55               /*TRIGGER*/
COMP: QW0140CI = 56               /*CREATE INDEX*/
COMP: QW0140DB = 57               /*DBADM*/
COMP: QW0140TB = 58               /*TERMINATE UTILITY ON DATABASE*/
COMP: QW0140A = 61                /*ALTER*/
COMP: QW0140DT = 62               /*DISPLAY THREAD OR DISPLAY DB*/
COMP: QW0140EX = 64               /*EXECUTE*/
COMP: QW0140B = 65                /*BIND, REBIND OR FREE*/
COMP: QW0140CD = 66               /*CREATEDBA*/
COMP: QW0140CG = 67               /*CREATE STOGROUP*/
COMP: QW0140DC = 68               /*DBCTRL*/
COMP: QW0140DA = 69               /*DBMAINT*/
COMP: QW0140RI = 72               /*RECOVER INDOUBT*/
COMP: QW0140DR = 73               /*DROP*/
COMP: QW0140C = 74                /*COPY*/
COMP: QW0140L = 75                /*LOAD*/
COMP: QW0140EQ = 76               /*EXPLICIT QUALIFIER USE*/
COMP: QW0140RG = 77               /*REORG*/
COMP: QW0140RP = 78               /*REPAIR*/
COMP: QW0140SD = 79               /*START DATABASE*/
COMP: QW0140S2 = 80  /*START DB2, STOP DB2, START DB(*) OR STOP DB(*)*/
COMP: QW0140RU = 82               /*RUNSTATS UTILITY*/
COMP: QW0140PD = 83               /*STOP DATABASE*/
COMP: QW0140ST = 84               /*STOP OR START TRACE*/
COMP: QW0140SY = 85               /*SYSADM*/
COMP: QW0140SO = 86               /*SYSOPR*/
COMP: QW0140US = 87               /*USE*/
COMP: QW0140BA = 88               /*BIND ADD*/
COMP: QW0140RR = 89               /*RECOVER (UTILITY)*/
COMP: QW0140CC = 92               /*CREATEDBC*/
COMP: QW0140RB = 93               /*RECOVER BSDS*/
COMP: QW0140CT = 94               /*CREATE TABLE*/
COMP: QW0140CS = 95               /*CREATE TABLESPACE*/
COMP: QW0140DU = 96               /*DISPLAY UTILITY*/
COMP: QW0140CO = 97               /*COMMENT ON*/
COMP: QW0140LT = 98               /*LOCK TABLE*/
COMP: QW0140DD = 99               /*DISPLAY DATABASE*/
COMP: QW0140CY = 102              /*CREATE SYNONYM*/
COMP: QW0140AI = 103              /*ALTER INDEX*/
COMP: QW0140DS = 104              /*DROP SYNONYM*/
COMP: QW0140DI = 105              /*DROP INDEX*/
COMP: QW0140SU = 107              /*STOSPACE UTILITY*/
COMP: QW0140CV = 108              /*CREATE VIEW*/
COMP: QW0140TU = 109              /*TERM UTILITY*/
COMP: QW0140DP = 112              /*DISPLAY BUFFERPOOL*/
COMP: QW0140AB = 113              /*ALTER BUFFERPOOL*/
COMP: QW0140YC = 224              /*SYSCTRL*/
COMP: QW0140CP = 225              /*COPY PACKAGE*/
COMP: QW0140IN = 226              /*CREATE IN*/
COMP: QW0140BN = 227              /*BINDAGENT*/
COMP: QW0140AL = 60               /*ALL ON PACKAGES*/
COMP: QW0140AR = 231              /*ARCHIVE*/
COMP: QW0140AP = 228              /*ALLPKAUT*/
COMP: QW0140SP = 229              /*SUBPKAUT*/
COMP: QW0140DE = 233              /*DESCRIBE TABLE*/
COMP: QW0140DG = 236              /*DIAGNOSE UTILITY*/
COMP: QW0140MC = 237              /*MERGECOPY UTILITY*/
COMP: QW0140MU = 238              /*MODIFY UTILITY*/
COMP: QW0140QU = 239              /*QUIESCE UTILITY*/
COMP: QW0140RE = 240              /*REPORT UTILITY*/
COMP: QW0140RD = 241              /*REPAIR DBD UTILITY*/
COMP: QW0140PA = 242              /*PACKADM*/
COMP: QW0140SH = 243              /*SET ARCHIVE*/
COMP: QW0140DH = 244              /*DISPLAY ARCHIVE*/
COMP: QW0140TT = 248    /*CREATE GLOBAL TEMPORARY TABLE (CREATETMTAB)*/
COMP: QW0140RT = 251              /*RENAME TABLE*/
COMP: QW0140A1 = 252              /*ALTERIN*/
COMP: QW0140C1 = 261              /*CREATEIN*/
COMP: QW0140D1 = 262              /*DROPIN*/
COMP: QW0140U1 = 263              /*USAGE*/
COMP: QW0140S1 = 265              /*START*/
COMP: QW0140S3 = 266              /*STOP*/
COMP: QW0140D2 = 267              /*DISPLAY*/
COMP: QW0140CX = 274              /*COMMENT ON INDEX*/
FLD: QW0140OB LEN(1) DISP(2)      /*OBJECT TYPE*/
*
* **..................QW0140OB  CONSTANTS............................**
COMP: QW0140BB = 'B'              /*BUFFERPOOL*/
COMP: QW0140BC = 'C'              /*COLLECTION*/
COMP: QW0140BD = 'D'              /*DATABASE*/
COMP: QW0140BE = 'E'              /*DISTINCT TYPE*/
COMP: QW0140BF = 'F'              /*FUNCTION*/
COMP: QW0140BJ = 'J'              /*JAR*/
COMP: QW0140BK = 'K'              /*PACKAGE*/
COMP: QW0140BM = 'M'              /*SCHEMA*/
COMP: QW0140BO = 'O'              /*PROCEDURE*/
COMP: QW0140BP = 'P'              /*APPLICATION PLAN*/
COMP: QW0140BS = 'R'              /*TABLESPACE*/
COMP: QW0140BG = 'S'              /*STORAGE GROUP*/
COMP: QW0140BT = 'T'              /*TABLE OR VIEW*/
COMP: QW0140BU = 'U'              /*USER AUTH*/
FLD: QW0140SC LEN(8) DISP(3)      /*SOURCE OBJECT OWNER: Two cases*/
*                             1) If object type not equal User Auth -
*                               Qualifier of the object against
*                               which authorization was checked.
*                               Valid for qualifiable objects.
*                             2) If object type equals User Auth -
*                               Qualifier of ALIAS being created.
*                               Valid for CREATE ALIAS privilege.
*
FLD: QW0140SN LEN(18) DISP(11)    /*SOURCE OBJECT NAME: Two cases*/
*                             1) If object type not equal User Auth -
*                               Name of the object against which
*                               authorization was checked.
*                             2) If object type equals User Auth -
*                               Name of the object being created. Valid
*                               when privilege is CREATE ALIAS,
*                               CREATEDBA, CREATEDBC, or CREATE
*                               STOGROUP.
*
FLD: QW0140TC LEN(8) DISP(29) /*TARGET OBJECT OWNER: Qualifier of the*/
*                             object being defined.  This field is
*                             valid for the CREATE INDEX and CREATE
*                             TABLE privileges. It is also valid for
*                             the CREATE VIEW authorization check which
*                             is a set of checks against the following
*                             privileges: CREATE VIEW (when creating
*                             view for another), SELECT, INSERT, DELETE
*                             and UPDATE.
*
FLD: QW0140TN LEN(18) DISP(37)
                             /*TARGET OBJECT NAME: Name of the object*/
*                             being defined.  Once again, this field
*                             is valid only in the above mentioned
*                             situations.
*
FLD: QW0140UR LEN(8) DISP(55)     /*AUTH ID BEING CHECKED*/
*
FLD: QW0140RC TYPE(HALF) DISP(64) /*RETURN CODE FROM ACCESS CONTROL*/
*                            AUTHORIZATION EXIT ROUTINE:
*                            -1 - EXIT WAS NOT CALLED
*                             4 - PERFORM DB2 AUTHORIZATION CHECK
*                             8 - NOT AUTHORIZED
*                            12 - UNABLE TO SERVICE REQUEST;
*                                 DO NOT CALL AGAIN
*
FLD: QW0140RS LEN(4) TYPE(BIN) DISP(68)
                                  /*USER DEFINED REASON CODE FROM THE*/
*                            ACCESS CONTROL AUTHORIZATION EXIT
*                            ROUTINE.
*
FLD: QW0140HO LEN(8) DISP(72)     /*HOST OPTIONS FOR SQL STATEMENTS*/
*                            (ZEROES FOR NON-SQL STMTS)
*
***...............BIT SETTINGS FOR QW0140HO..........................**
* BIT SETTINGS LEFT TO RIGHT I.E. 123456789........64
* 1 BIT - APOST(0) (OFF) OR QUOTE(1) (ON)
* 2 BIT - PERIOD(0) (OFF) OR COMMA(1) (ON)
* 3 BIT - APOSTSQL(0) (OFF) OR QUOTESQL(1) (ON)
* 4 BIT - MIXED YES (ON) OR NO (OFF)
* 5 BIT - USE HOST LANGUAGE OPTION YES (ON) OR NO (OFF)
* 6  - 8  BITS - HOST LANGUAGE OR DYNAMIC
*             ASSEMBLER  001
*             COBOL      010
*             PL/1       011
*             NONE       100  DYNAMIC
*             FORTRAN    101
*             COBOL2     110
*             NULL       111  SEE BITS 17 - 24 FOR THE LANGUAGE
* 9  - 16 BITS - CHARACTER SET BEING USED
*             ALPHANUMERIC   00000000
*             KATAKANA       00000001
* 17 - 24 BITS - ALTERNATE HOST LANGUAGE FIELD
*             ASSEMBLER  'B'
*             COBOL      'C'
*             PL/1       'P'
*             FORTRAN    'F'
*             COBOL2     '2'
*             IBM COBOL  '3'
*             C++        '4'
*             C          'D'
* 25 - 28 BITS - TIME OPTION
*             NONE       0000
*             LOCAL      1000
*             JIS        0100
*             ISO/EUR    0010
*             USA        0001
* 29 - 32 BITS - DATE OPTION
*             NONE       0000
*             LOCAL      1000
*             EUR        0100
*             ISO/JIS    0010
*             USA        0001
* 33 BIT - DECIMAL 31 YES (ON) OR NO (OFF)
* 34 - 40 BITS - UNUSED
* 41 - 48 BITS - REMOTE OPTION
*             SQL(ALL)  00000001
*             SQL(DB2)  00000010
* 49 - 56 BITS - SQLFLAG OPTION
*             SQLFLAG(SAA)       00000001
*             NO SQLFLAG OPTION  00000000
* 57 - 64 BITS - UNUSED
*
FLD: QW0140TX LEN(1) DISP(80)     /*SQL TEXT AND LENGTH*/
FLD: QW0140LL TYPE(HALF) DISP(80)
                                /*LENGTH OF FAILING SQL STATEMENT + 2*/
*                      ZERO WHEN NO SQL STATEMENT EXISTS
FLD: QW0140SQ LEN(1) DISP(82) /*FAILING SQL STATEMENT (IF APPLICABLE)*/
*                      ONLY FIRST 4K OF SQL STATEMENT SHOWN
*                      SKELETON STMT FOR 'SET CURRENT SQLID'
*
***********************************************************************
*     IFCID 0141 RECORDS EXPLICIT GRANTS AND REVOKES
***********************************************************************
*
***********************************************************************
**** QW0141   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0141, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00141')
***********************************************************************
COMP: QW0141_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>141 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0141   DISP(0) LEN(1) OFFSET(QW0141_OFFSET)
*
FLD: QW0141OR LEN(8) DISP(0)      /*GRANTOR OR REVOKER BLANK WHEN BY*/
*                              CLAUSE SPECIFIED IN REVOKE STMT KYF1134
FLD: QW0141AC LEN(1) DISP(8)      /*ACCESS TYPE ('G' OR 'R')*/
FLD: QW0141OB LEN(1) DISP(9)      /*OBJECT TYPE (DEFINED IN QW0140OB)*/
FLD: QW0141CO LEN(4) TYPE(BIN) DISP(12)                    /*SQL CODE*/
FLD: QW0141RE LEN(1) DISP(16)
                             /*REASON ACCESS GRANTED (ONLY FOR GRANT)*/
*
***...............QW0141RE CONSTANTS.................................**
COMP: QW0141RS = 'S'              /*SYSADM*/
COMP: QW0141RL = 'L'              /*SYSCTRL*/
COMP: QW0141RO = 'O'              /*SYSOPR*/
COMP: QW0141RD = 'D'              /*DBADM*/
COMP: QW0141RC = 'C'              /*DBCTRL*/
COMP: QW0141RM = 'M'              /*DBMAINT*/
COMP: QW0141RP = 'P'            /*PACKADM ON A SPECIFIC COLLECTION ID*/
COMP: QW0141RA = 'A'              /*PACKADM ON ALL COLLECTIONS*/
FLD: QW0141HO LEN(8) DISP(17)     /*HOST OPTIONS*/
*
***...............BIT SETTINGS FOR QW0141HO..........................**
* BIT SETTINGS LEFT TO RIGHT I.E. 123456789........64
* 1 BIT - APOST(0) (OFF) OR QUOTE(1) (ON)
* 2 BIT - PERIOD(0) (OFF) OR COMMA(1) (ON)
* 3 BIT - APOSTSQL(0) (OFF) OR QUOTESQL(1) (ON)
* 4 BIT - MIXED YES (ON) OR NO (OFF)
* 5 BIT - USE HOST LANGUAGE OPTION YES (ON) OR NO (OFF)
* 6  - 8  BITS - HOST LANGUAGE OR DYNAMIC
*             ASSEMBLER  001
*             COBOL      010
*             PL/1       011
*             NONE       100  DYNAMIC
*             FORTRAN    101
*             COBOL2     110
*             NULL       111  SEE BITS 17 - 24 FOR THE LANGUAGE
* 9  - 16 BITS - CHARACTER SET BEING USED
*             ALPHANUMERIC   00000000
*             KATAKANA       00000001
* 17 - 24 BITS - ALTERNATE HOST LANGUAGE FIELD
*             ASSEMBLER  'B'
*             COBOL      'C'
*             PL/1       'P'
*             FORTRAN    'F'
*             COBOL2     '2'
*             IBM COBOL  '3'
*             C++        '4'
*             C          'D'
* 25 - 28 BITS - TIME OPTION
*             NONE       0000
*             LOCAL      1000
*             JIS        0100
*             ISO/EUR    0010
*             USA        0001
* 29 - 32 BITS - DATE OPTION
*             NONE       0000
*             LOCAL      1000
*             EUR        0100
*             ISO/JIS    0010
*             USA        0001
* 33 BIT - DECIMAL 31 YES (ON) OR NO (OFF)
* 34 - 40 BITS - UNUSED
* 41 - 48 BITS - REMOTE OPTION
*             SQL(ALL)  00000001
*             SQL(DB2)  00000010
* 49 - 56 BITS - SQLFLAG OPTION
*             SQLFLAG(SAA)       00000001
*             NO SQLFLAG OPTION  00000000
* 57 - 64 BITS - UNUSED
*
FLD: QW0141TX LEN(1) DISP(25)     /*SQL TEXT AND LENGTH*/
*                      FORMAT IS 2 BYTE LENGTH FOLLOWED BY TEXT
*                      THE 2 BYTE LENGTH FIELD INCLUDES TEXT + 2
*
***********************************************************************
*     IFCID 0142 RECORDS CREATES, ALTERS, AND DROPS AGAINST AN
*     AUDITED OBJECT
***********************************************************************
*
***********************************************************************
**** QW0142   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0142, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00142')
***********************************************************************
COMP: QW0142_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>142 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0142   DISP(0) LEN(1) OFFSET(QW0142_OFFSET)
*
FLD: QW0142DB TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0142OB TYPE(HALF) DISP(2)  /*RECORD OBID*/
FLD: QW0142OW LEN(8) DISP(4)      /*TABLE OWNER, SAME AS QUALIFIER*/
FLD: QW0142CR LEN(8) DISP(12)     /*TABLE CREATOR*/
FLD: QW0142AC LEN(1) DISP(20)   /*STATEMENT TYPE (CREATE, DROP ALTER)*/
FLD: QW0142TN LEN(18) DISP(21)    /*TABLE NAME*/
FLD: QW0142HO LEN(8) DISP(39)     /*HOST OPTIONS*/
*
***...............BIT SETTINGS FOR QW0142HO..........................**
* BIT SETTINGS LEFT TO RIGHT I.E. 123456789........64
* 1 BIT - APOST(0) (OFF) OR QUOTE(1) (ON)
* 2 BIT - PERIOD(0) (OFF) OR COMMA(1) (ON)
* 3 BIT - APOSTSQL(0) (OFF) OR QUOTESQL(1) (ON)
* 4 BIT - MIXED YES (ON) OR NO (OFF)
* 5 BIT - USE HOST LANGUAGE OPTION YES (ON) OR NO (OFF)
* 6  - 8  BITS - HOST LANGUAGE OR DYNAMIC
*             ASSEMBLER  001
*             COBOL      010
*             PL/1       011
*             NONE       100  DYNAMIC
*             FORTRAN    101
*             COBOL2     110
*             NULL       111  SEE BITS 17 - 24 FOR THE LANGUAGE
* 9  - 16 BITS - CHARACTER SET BEING USED
*             ALPHANUMERIC   00000000
*             KATAKANA       00000001
* 17 - 24 BITS - ALTERNATE HOST LANGUAGE FIELD
*             ASSEMBLER  'B'
*             COBOL      'C'
*             PL/1       'P'
*             FORTRAN    'F'
*             COBOL2     '2'
*             IBM COBOL  '3'
*             C++        '4'
*             C          'D'
* 25 - 28 BITS - TIME OPTION
*             NONE       0000
*             LOCAL      1000
*             JIS        0100
*             ISO/EUR    0010
*             USA        0001
* 29 - 32 BITS - DATE OPTION
*             NONE       0000
*             LOCAL      1000
*             EUR        0100
*             ISO/JIS    0010
*             USA        0001
* 33 BIT - DECIMAL 31 YES (ON) OR NO (OFF)
* 34 - 40 BITS - UNUSED
* 41 - 48 BITS - REMOTE OPTION
*             SQL(ALL)  00000001
*             SQL(DB2)  00000010
* 49 - 56 BITS - SQLFLAG OPTION
*             SQLFLAG(SAA)       00000001
*             NO SQLFLAG OPTION  00000000
* 57 - 64 BITS - UNUSED
*
FLD: QW0142TX LEN(1) DISP(47)     /*SQL TEXT AND LENGTH*/
*                      FORMAT IS 2 BYTE LENGTH FOLLOWED BY TEXT
*                      THE 2 BYTE LENGTH FIELD INCLUDES TEXT + 2
*
***********************************************************************
*  IFCID 0143 - FIRST ATTEMPTED CHANGE (WRITE) OF AN AUDITED OBJECT
*               WITHIN A UNIT OF RECOVERY
***********************************************************************
*
***********************************************************************
**** QW0143   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0143, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00143')
***********************************************************************
COMP: QW0143_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>143 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0143   DISP(0) LEN(1) OFFSET(QW0143_OFFSET)
*
FLD: QW0143DB TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0143PS TYPE(HALF) DISP(2)  /*PAGESET OBID*/
FLD: QW0143OB TYPE(HALF) DISP(4)  /*RECORD OBID*/
FLD: QW0143UR LEN(6) DISP(6) /*UNIT OF RECOVERY ID (LOG RBA OR ZEROS)*/
*
*
***********************************************************************
*  IFCID 0144 - FIRST ATTEMPTED ACCESS (READ) OF AN AUDITED OBJECT
*               WITHIN A UNIT OF RECOVERY
***********************************************************************
*
***********************************************************************
**** QW0144   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0144, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00144')
***********************************************************************
COMP: QW0144_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>144 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0144   DISP(0) LEN(1) OFFSET(QW0144_OFFSET)
*
FLD: QW0144DB TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0144PS TYPE(HALF) DISP(2)  /*PAGESET OBID*/
FLD: QW0144OB TYPE(HALF) DISP(4)  /*RECORD OBID*/
FLD: QW0144UR LEN(6) DISP(6) /*UNIT OF RECOVERY ID (LOG RBA OR ZEROS)*/

***********************************************************************
*     IFCID 0145 FOR AUDIT LOG RECORD IN DML SESSION
***********************************************************************
*
***********************************************************************
**** QW0145   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0145, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00145')
***********************************************************************
COMP: QW0145_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>145 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0145   DISP(0) LEN(1) OFFSET(QW0145_OFFSET)
*
FLD: QW0145LN LEN(16) DISP(0)     /*LOCATION NAME*/
FLD: QW0145PC LEN(18) DISP(16)    /*PACKAGE COLLECTION ID*/
FLD: QW0145PN LEN(18) DISP(34)    /*PROGRAM NAME*/
FLD: QW0145TS LEN(8) DISP(52)     /*TIME STAMP*/
FLD: QW0145SN TYPE(HALF) DISP(60) /*PRECOMPILE STATEMENT NUMBER*/
* AS PRINTED, USED IN ERROR MESSAGES, LINE COUNTER REFERENCED
*
FLD: QW0145ST TYPE(HALF) DISP(62) /*SQL STATEMENT TYPE*/
*
***...............QW0145ST CONSTANTS.................................**
*              VALUE     STATEMENT
COMP: QW0145O = 3                 /*OPEN*/
COMP: QW0145F = 4                 /*FETCH*/
COMP: QW0145C = 5                 /*CLOSE*/
COMP: QW0145PR = 14               /*PREPARE*/
COMP: QW0145E = 15                /*EXECUTE*/
COMP: QW0145EI = 16               /*EXECUTE IMMEDIATE*/
COMP: QW0145D = 17                /*DESCRIBE*/
COMP: QW0145EX = 18               /*EXPLAIN*/
COMP: QW0145SQ = 231              /*SELECT QUERY*/
COMP: QW0145I = 232               /*INSERT*/
COMP: QW0145DE = 233              /*DELETE*/
COMP: QW0145U = 234               /*UPDATE*/
COMP: QW0145SS = 239              /*SELECT BQUERY OR SUBSELECT*/
COMP: QW0145L = 278               /*LOCK*/
COMP: QW0145CV = 308              /*CREATE VIEW*/
FLD: QW0145HO LEN(8) DISP(64)     /*HOST OPTIONS*/
*
***...............BIT SETTINGS FOR QW0145HO..........................**
* BIT SETTINGS LEFT TO RIGHT I.E. 123456789........64
* 1 BIT - APOST(0) (OFF) OR QUOTE(1) (ON)
* 2 BIT - PERIOD(0) (OFF) OR COMMA(1) (ON)
* 3 BIT - APOSTSQL(0) (OFF) OR QUOTESQL(1) (ON)
* 4 BIT - MIXED YES (ON) OR NO (OFF)
* 5 BIT - USE HOST LANGUAGE OPTION YES (ON) OR NO (OFF)
* 6  - 8  BITS - HOST LANGUAGE OR DYNAMIC
*             ASSEMBLER  001
*             COBOL      010
*             PL/1       011
*             NONE       100  DYNAMIC
*             FORTRAN    101
*             COBOL2     110
*             NULL       111  SEE BITS 17 - 24 FOR THE LANGUAGE
* 9  - 16 BITS - CHARACTER SET BEING USED
*             ALPHANUMERIC   00000000
*             KATAKANA       00000001
* 17 - 24 BITS - ALTERNATE HOST LANGUAGE FIELD
*             ASSEMBLER  'B'
*             COBOL      'C'
*             PL/1       'P'
*             FORTRAN    'F'
*             COBOL2     '2'
*             IBM COBOL  '3'
*             C++        '4'
*             C          'D'
* 25 - 28 BITS - TIME OPTION
*             NONE       0000
*             LOCAL      1000
*             JIS        0100
*             ISO/EUR    0010
*             USA        0001
* 29 - 32 BITS - DATE OPTION
*             NONE       0000
*             LOCAL      1000
*             EUR        0100
*             ISO/JIS    0010
*             USA        0001
* 33 BIT - DECIMAL 31 YES (ON) OR NO (OFF)
* 34 - 40 BITS - UNUSED
* 41 - 48 BITS - REMOTE OPTION
*             SQL(ALL)  00000001
*             SQL(DB2)  00000010
* 49 - 56 BITS - SQLFLAG OPTION
*             SQLFLAG(SAA)       00000001
*             NO SQLFLAG OPTION  00000000
* 57 - 64 BITS - UNUSED
*
FLD: QW0145SC LEN(4) DISP(72)     /*RESERVED*/
FLD: QW0145TX LEN(1) DISP(76)     /*SQL STATEMENT*/
*                      FORMAT IS 2 BYTE LENGTH FOLLOWED BY TEXT
*                      THE 2 BYTE LENGTH FIELD INCLUDES TEXT + 2
FLD: QW0145STX_LEN TYPE(HALF) DISP(76)           /*LENGTH OF SQL STMT*/
FLD: QW0145STX_STMT LEN(200) DISP(78)            /*LENGTH OF SQL STMT*/
*
* **       MULTIPLE REPEATING GROUPS MAY OCCUR
*        THE SECTION IS LOCATED OUT OF QWT02R2O                      **
FLD: QW0145P  LEN(1) DISP(0)      /*AUDIT LOG TABLE INFORMATION*/
FLD: QW0145DB LEN(2) DISP(0)     /*AUDIT LOG TABLE DATABASE ID (DBID)*/
FLD: QW0145OB LEN(2) DISP(2)      /*AUDIT LOG TABLE RECORD ID OBID*/
FLD: QW0145IL LEN(1) DISP(0)
FLD: QW0145IS LEN(1) DISP(0)      /*STATEMENT ISOLATION LEVEL*/
COMP: QW0145RR = 'R'              /*RR ISOLATION LEVEL*/
COMP: QW0145RS = 'T'              /*RS ISOLATION LEVEL*/
COMP: QW0145CS = 'S'              /*CS ISOLATION LEVEL*/
COMP: QW0145UR = 'U'              /*UR ISOLATION LEVEL*/
COMP: QW0145XR = 'X'              /*RR ISO LEVEL X LOCK*/
COMP: QW0145XS = 'L'              /*RS ISO LEVEL X LOCK*/

*******************************************************************
*   IFCID 0225 for storage manager pool summary statistics.       *
*******************************************************************
***********************************************************************
**** QW0225   DSECT           IFCID(QWHS0225)                           
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0225, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00225')
***********************************************************************
COMP: QW0225_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>225 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0225   DISP(0) LEN(1) OFFSET(QW0225_OFFSET)  /*IFCID(QWHS0225)*/
*                             POINTED TO BY QWT02R10
FLD: QW0225AL LEN(4) TYPE(BIN) DISP(0)
                                  /*TOTAL AGENT LOCAL POOL STORAGE*/
FLD: QW0225AS LEN(4) TYPE(BIN) DISP(4)   /*TOTAL AGENT SYSTEM STORAGE*/
FLD: QW0225AV LEN(4) TYPE(BIN) DISP(8)      /*AMOUNT OF AVAIL STORAGE*/
FLD: QW0225CD LEN(4) TYPE(BIN) DISP(12)
                                  /*TOTAL COMPRESS DICTIONARY STORAGE*/
FLD: QW0225CR LEN(4) TYPE(BIN) DISP(16)
                                  /*STG RSRVD ONLY FOR MUST COMPLETE*/
FLD: QW0225FX LEN(4) TYPE(BIN) DISP(20)         /*TOTAL FIXED STORAGE*/
FLD: QW0225GM LEN(4) TYPE(BIN) DISP(24)     /*TOTAL GETMAINED STORAGE*/
FLD: QW0225GS LEN(4) TYPE(BIN) DISP(28)
                                  /*TOTAL GETMAINED STACK STORAGE*/
FLD: QW0225MV LEN(4) TYPE(BIN) DISP(32)
                                  /*AMOUNT OF STORAGE FOR MVS USAGE*/
FLD: QW0225PM LEN(4) TYPE(BIN) DISP(36)
                                 /*TOTAL PIPE MANAGER SUBPOOL STORAGE*/
FLD: QW0225RO LEN(4) TYPE(BIN) DISP(40)   /*TOTAL RDS OP POOL STORAGE*/
FLD: QW0225RP LEN(4) TYPE(BIN) DISP(44)      /*TOTAL RID POOL STORAGE*/
FLD: QW0225SB LEN(4) TYPE(BIN) DISP(48)
                                /*TOTAL STATEMENT CACHE BLOCK STORAGE*/
FLD: QW0225SC LEN(4) TYPE(BIN) DISP(52)
                                  /*TOTAL STORAGE FOR THREAD COPIES*/
*                               OF CACHED SQL STATEMENTS
FLD: QW0225SO LEN(4) TYPE(BIN) DISP(56)
                                  /*STG CUSHION WARNING TO CONTRACT*/
FLD: QW0225TT LEN(4) TYPE(BIN) DISP(60)  /*TOTAL BM/DM INTERNAL TRACE*/
*                               TABLE STORAGE
FLD: QW0225VR LEN(4) TYPE(BIN) DISP(64)      /*TOTAL VARIABLE STORAGE*/
FLD: QW0225AT LEN(4) TYPE(BIN) DISP(68)  /*# OF ACTIVE ALLIED THREADS*/
FLD: QW0225CE LEN(4) TYPE(BIN) DISP(72)        /*# OF CASTOUT ENGINES*/
FLD: QW0225DW LEN(4) TYPE(BIN) DISP(76) /*# OF DEFERRED WRITE ENGINES*/
FLD: QW0225GW LEN(4) TYPE(BIN) DISP(80)      /*# OF GBP WRITE ENGINES*/
FLD: QW0225PF LEN(4) TYPE(BIN) DISP(84)       /*# OF PREFETCH ENGINES*/
FLD: QW0225PL LEN(4) TYPE(BIN) DISP(88)
                                  /*# OF P LOCK/NOTIFY EXIT ENGINES*/
FLD: QW0225LO LEN(4) TYPE(BIN) DISP(92)      /*MVS 24 BIT LOW PRIVATE*/
FLD: QW0225HI LEN(4) TYPE(BIN) DISP(96)     /*MVS 24 BIT HIGH PRIVATE*/
FLD: QW0225EL LEN(4) TYPE(BIN) DISP(100)
                                  /*MVS 31 BIT EXTENDED LOW PRIVATE*/
FLD: QW0225EH LEN(4) TYPE(BIN) DISP(104)
                                  /*MVS 31 BIT EXTENDED HIGH PRIVATE*/
FLD: QW0225RG LEN(4) TYPE(BIN) DISP(108)
                                  /*MVS EXTENDED REGION SIZE (MAX)*/
FLD: QW0225EC LEN(4) TYPE(BIN) DISP(112)      /*MVS EXTENDED CSA SIZE*/
FLD: QW02250N LEN(1) DISP(144)    /*END OF QW0225 MAPPING*/
*******************************************************************
*   IFCID 0226 FOR RMID 10 RECORDS THE EVENT THAT AN AGENT IS     *
*        READY TO SUSPEND ITSELF TO WAIT FOR A PAGE LATCH WHICH   *
*        IS CURRENTLY HELD BY ANOTHER AGENT.                      *
*******************************************************************
*
***********************************************************************
**** QW0226   DSECT           IFCID(QWHSO226)                           
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0226, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00226')
***********************************************************************
COMP: QW0226_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>226 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0226   DISP(0) LEN(1) OFFSET(QW0226_OFFSET)  /*IFCID(QWHSO226)*/
FLD: QW0226DB LEN(2) DISP(0)      /*DATABASE ID (DBID)*/
FLD: QW0226OB LEN(2) DISP(2)      /*PAGESET OBID*/
FLD: QW0226PN LEN(3) DISP(4)      /*PAGE NUMBER TO READ/WRITE*/
FLD: QW0226F  LEN(1) DISP(7)      /*FLAG FOR TYPE OF LATCH*/
COMP: QW0226SL = 'S'              /*S LATCH*/
COMP: QW0226XL = 'X'              /*X LATCH*/
FLD: QW0226BP LEN(4) TYPE(BIN) DISP(8)
                               /*BUFFER POOL INTERNAL ID (0 49,80 89)*/
FLD: QW0226AC LEN(4) TYPE(BIN) DISP(12)      /*ACE TOKEN OF REQUESTOR*/
FLD: QW0226PG LEN(4) TYPE(BIN) DISP(16)   /*PAGE NUMBER TO READ/WRITE*/
FLD: QW0226FG LEN(1) DISP(20)     /*Table space type*/
COMP: QW0226F1 = 'N'              /*Non large table space*/
COMP: QW0226F2 = 'L'              /*NON EA 5 BYTE RID TABLE SPACE*/
COMP: QW0226F3 = 'V'              /*EA ENABLED 5 BYTE RID TABLE SPACE*/

***********************************************************************
*   IFCID 0254 For RMID 10 to record statistics related to SF
*        cache structures associated with DB2 Group Buffer Pools.
***********************************************************************
*
***********************************************************************
**** QW0254   DSECT          IFCID(QWHS0254)                            
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0254, USE:
* INPUT: SMF102V8
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00254')
***********************************************************************
COMP: QW0254_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>254 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0254   DISP(0) LEN(1) OFFSET(QW0254_OFFSET)  /*IFCID(QWHS0254)*/
FLD: QW0254GN LEN(4) TYPE(BIN) DISP(0)         /*Group buffer pool id*/
FLD: QW0254CI LEN(4) TYPE(BIN) DISP(4)       /*"Explicit XI counter".*/
*                            # of times a request was made to the
*                            coupling facility to explicitly
*                            cross-invalidate a page and XI
*                            signal(s) had to be sent because
*                            the named page was cached in one
*                            or more DB2 buffer pools
FLD: QW0254RH LEN(4) TYPE(BIN) DISP(8)          /*"Read Hit Counter".*/
*                            # of coupling facility read requests
*                            in which data was returned.
FLD: QW0254RD LEN(4) TYPE(BIN) DISP(12)
                                 /*"Read Miss Directory Hit Counter".*/
*                            # of coupling facility read requests for
*                            a page in which data was not returned but
*                            the page name was already assigned in the
*                            coupling facility directory (the coupling
*                            facility did not have to assign a new
*                            directory entry for the page).
FLD: QW0254RS LEN(4) TYPE(BIN) DISP(16)
                         /*"Read Miss Assignment Suppressed Counter".*/
*                            # of coupling facility read requests for
*                            a page in which data was not returned and
*                            the page name was not assigned in the
*                            coupling facility directory and directory
*                            name assignment was suppressed.  DB2 will
*                            request suppression of the directory entry
*                            assignment in cases where it does not need
*                            to register the page to the coupling
*                            facility for cross invalidation (XI); that
*                            is when this DB2 is the only one in the
*                            group with R/W interest in the
*                            pageset/partition.  Also includes pages
*                            deregistered due to buffer stealing.
FLD: QW0254RN LEN(4) TYPE(BIN) DISP(20)
                                 /*"Read Miss Name Assigned Counter".*/
*                            # of coupling facility read requests for
*                            a page in which data was not returned and
*                            the page name was not assigned in the
*                            coupling facility directory but a
*                            directory entry was successfully assigned
*                            to a new name.
FLD: QW0254RF LEN(4) TYPE(BIN) DISP(24)
                                  /*"Read Miss Cache Full Counter".*/
*                            # of coupling facility read requests for
*                            a page in which the page name was not
*                            assigned to a coupling facility directory
*                            entry and name assignment could not
*                            complete due to a lack of coupling
*                            facility storage resources.
FLD: QW0254WH LEN(4) TYPE(BIN) DISP(28)
                                  /*"Changed Page Write Hit Counter".*/
*                            # of coupling facility write requests for
*                            changed pages successfully completed.
FLD: QW0254WC LEN(4) TYPE(BIN) DISP(32)
                                  /*"Clean Page Write Hit Counter".*/
*                            # of coupling facility write requests for
*                            clean pages successfully completed.
FLD: QW0254WF LEN(4) TYPE(BIN) DISP(36)
                                  /*"Write Miss Cache Full Counter".*/
*                            # of coupling facility write requests that
*                            could not complete due to a lack of
*                            coupling facility storage resources.
FLD: QW0254DR LEN(4) TYPE(BIN) DISP(40)
                                 /*"Directory Entry Reclaim Counter".*/
*                            # of times that a page name assignment
*                            required that a coupling facility
*                            directory entry be reclaimed (stolen).
FLD: QW0254TR LEN(4) TYPE(BIN) DISP(44)
                                  /*"Data Entry Reclaim Counter".*/
*                            # of times that a page name assignment
*                            required that a coupling facility data
*                            entry be reclaimed (stolen).
FLD: QW0254XR LEN(4) TYPE(BIN) DISP(48)
                              /*"XI Directory Entry Reclaim Counter".*/
*                            # of times that a directory entry was
*                            stolen and XI signal(s) had to be sent
*                            because the page in the directory entry
*                            was cached in one or more DB2 buffer
*                            pools.
FLD: QW0254CC LEN(4) TYPE(BIN) DISP(52)          /*"Castout Counter".*/
*                            # of castout operations performed.
FLD: QW0254DE LEN(4) TYPE(BIN) DISP(56)  /*"Directory Entry Counter".*/
*                            # of allocated directory entries (snapshot
*                            value, not cumulative).
FLD: QW0254TE LEN(4) TYPE(BIN) DISP(60)       /*"Data Entry Counter".*/
*                            # of allocated data entries (snapshot
*                            value, not cumulative).
FLD: QW0254TC LEN(4) TYPE(BIN) DISP(64)    /*"Total Changed Counter".*/
*                            # of allocated data entries that are
*                            currently in "changed" state (snapshot
*                            value, not cumulative).
FLD: QW02542W LEN(4) TYPE(BIN) DISP(68)
                                  /*"Changed Page Write Hit Counter"*/
*                            for the secondary group buffer pool.
*                            # of coupling facility write requests for
*                            changed pages successfully completed.
FLD: QW02542F LEN(4) TYPE(BIN) DISP(72)
                                  /*"Write Miss Cache Full Counter"*/
*                            for the secondary group buffer pool.
*                            # of coupling facility write requests that
*                            could not complete due to a lack of
*                            coupling facility storage resources.
FLD: QW02542D LEN(4) TYPE(BIN) DISP(76)   /*"Directory Entry Counter"*/
*                            for the secondary group buffer pool.
*                            # of allocated directory entries (snapshot
*                            value, not cumulative).
FLD: QW02542T LEN(4) TYPE(BIN) DISP(80)        /*"Data Entry Counter"*/
*                            for the secondary group buffer pool.
*                            # of allocated data entries (snapshot
*                            value, not cumulative).
FLD: QW02542C LEN(4) TYPE(BIN) DISP(84)     /*"Total Changed Counter"*/
*                            for the secondary group buffer pool.
*                            # of allocated data entries that are
*                            currently in "changed" state (snapshot
*                            value, not cumulative).
FLD: QW0254EN LEN(1) DISP(88)     /*END OF QW0254*/
*
FLD: SMF102_END LEN(1) OFFSET(0)

 


 

Sample Report from SMF 102, IFCID 144 Records
DB2 Audit Report -- Users Accessing Selected Tables


The sample SMF report below was created with
Spectrum SMF Writer, the low-cost 4GL SMF report writer.

In this report, the primary input file is the SMF file. We select just the type 102 "DB2 Audit" records with IFCID 144 ("ATTEMPTED ACCESS (READ) OF AN AUDITED OBJECT"). (See SMF 102 record layout.) We normalize the 144 data section, in order to report on all occurances of that segment within each SMF record.

We select the records for the timeframe and the tables we are interested in. (Alternately, we could have selected on Operator ID, to see all tables accessed by a given user.)

This example also illustrates Spectrum SMF Writer's DB2 Option. The SMF record itself does not contain the text name of the tables being accessed. It just contains halfword codes for: Database ID, Page Space ID and Object ID. However, we were able to use those codes to "select" rows from two DB2 system tables and expand those codes into full names. Thus we were able to show the actual table names in our report.

All of this with just a few lines of code!
Why not install a Spectrum SMF Writer trial right now and start making your own SMF reports!

These Spectrum SMF Writer Statements:

OPTION: DB2SUBSYS('DB2T') NOGRANDTOTALS
*
*   THE MAIN INPUT FILE IS THE SMF FILE. WE NORMALIZE TO GET ALL SEGMENTS
INPUT:  SMF102V9  LIST(YES)
        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00144') 
*
*   LOOK UP SPACE NAME IN IBM SYSTEM DB2 TABLE
READ:  SPACE   SHOWFLDS(YES)
       DB2NAME('SYSIBM.SYSTABLESPACE')
       WHERE(DBID = QW0144DB AND PSID = QW0144PS)
*
*   LOOK UP TABLE NAME IN IBM SYSTEM DB2 TABLE
READ:  TABLE   SHOWFLDS(YES)
       DB2NAME('SYSIBM.SYSTABLES')
       WHERE(TABLE.DBID = QW0144DB AND TABLE.OBID = QW0144OB)
*
*   SELECT THE RECORDS WE WANT FOR THE REPORT
INCLUDEIF: SM102RTY = 102
           AND QWHSIID = 144
           AND SM102DTE = 4/11/10
           AND SM102TME >= 18:00:00 AND < 19:00:00
           AND SPACE.NAME : 'FLOAT'
***        AND QWHCOPID = 'TTP011A'
*
*   SELECT THE DATA FIELDS TO PRINT IN THE REPORT
COLUMNS:
     SM102RTY(3 'SMF|REC|TYP')
     QWHSIID(4 'IFC|ID')
     SM102DTE('SMF|LOG DATE')
     SM102TME('SMF|LOG TIME')
     QWHCCN('CONNECT|NAME')
     QWHCPLAN('PLAN|NAME')
     QWHCOPID('OPERATOR/ID')
     QW0144DB(4 'DBID')
     SPACE.NAME(16 'DBID|NAME')
     QW0144PS(4 'PSID')
     QW0144OB(4 'OBID')
     TABLE.NAME(16 'OBID|NAME')
*
*   SPECIFY REPORT TITLES
TITLE: 'DB2 AUDIT REPORT FROM SMF 102 RECORDS'
TITLE: 'ACCESS TO TABLES BEGINNING WITH "FLOAT"'

 

Produce This SMF Report:

                                    DB2 AUDIT REPORT FROM SMF 102 RECORDS
                                   ACCESS TO TABLES BEGINNING WITH "FLOAT"
 SMF 
 REC IFC    SMF        SMF     CONNECT    PLAN                          DBID                       OBID
 TYP  ID  LOG DATE  LOG TIME     NAME     NAME   OPERATOR/ID DBID       NAME       PSID OBID       NAME
 ___ ____ ________ ___________ ________ ________ ___________ ____ ________________ ____ ____ ________________

 102  144 04/11/10 18:37:40.13 TSO      ADB       TTP011A      291 FLOATACC1           2    3 FLOATAAC1
 102  144 04/11/10 18:37:54.06 TSO      ADB       TTP011A      291 FLOATACC1           2    3 FLOATAAC1
 102  144 04/11/10 18:38:09.56 TSO      ADB       TTP011A      291 FLOATACC1           2    3 FLOATAAC1
 102  144 04/11/10 18:38:19.11 TSO      ADB       TTP011A      292 FLOATTEMP           2    3 FLOATTEMP
 102  144 04/11/10 18:38:31.80 TSO      ADB       TTP011A      292 FLOATTEMP           2    3 FLOATTEMP
 102  144 04/11/10 18:48:35.58 DB2CALL  SPECT303  TTP011A      292 FLOATTEMP           2    3 FLOATTEMP
 102  144 04/11/10 18:49:29.27 DB2CALL  SPECT303  TTP011A      291 FLOATACC1           2    3 FLOATAAC1

See other sample SMF reports.

Copyright 2024.
Pacific Systems Group.
All rights reserved.
Home | Products | Prices | Documentation | 30-Day Trials | Customer Reviews | Company | FAQ | Sample Reports | SMF Records
Send Your Comments or Questions