Warning: Missing argument 3 for ret_fix(), called in /home/pacifi10/public_html/smf/smf102_DB2v10.htm on line 318 and defined in /home/pacifi10/public_html/smf/smf102_DB2v10.htm on line 3154
SMF Type 102 Record
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
(DATABASE 2 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
DATABASE 2 Performance, Audit, and Monitor

***********************************************************************
*          SPECTRUM SMF WRITER -- FILE DEFINITION STATEMENTS          *
* SMF TYPE 102 RECORD - "DATABASE 2 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
*(SEE SYSTEM PLANNING AND ADMINISTRATION GUIDE FOR ADDITIONAL DETAIL)*
**********************************************************************
*                                                                    *
* ------------- NOTE TO SPECTRUM SMF WRITER CUSTOMERS. ------------- *
*                                                                    *
* THIS RECORD LAYOUT DEFINES ALL OF THE HEADERS PLUS THE DATA        *
* SECTIONS OF THE MOST COMMONLY USED IFCIDS. THERE ARE HUNDREDS      *
* OF OTHER IFCIDS WHICH WE HAVE NOT DEFINED HERE, IN ORDER TO KEEP   *
* THE RECORD LAYOUT MANAGEABLE.                                      *
*                                                                    *
* IF YOU NEED DATA FROM A DIFFERENT IFCID, CONSIDER USING THIS       *
* LAYOUT AS A GUIDE AND DEFINING IT YOURSELF. YOU CAN ALSO           *
* CONTACT US AND AS OUR SCHEDULE PERMITS, WE WILL TRY TO DEFINE IT.  *
*                                                                    *
**********************************************************************
*   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
*                      *
********************************************************************
*
FLD: QWSP     LEN(4) TYPE(BIN) DISP(0)
*/*****************************************************************/
*/*       SMF COMMON HEADER MAPPING MACRO FOR PERFORMANCE SMF 102 */
*/*****************************************************************/
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) TYPE(BU) 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)                               */
*
*/**IMPORTANT PARSING INFORMATION*****IMPORTANT PARSING INFORMATION****
*                                                                     *
* The length field for any (offset,length,number of data sections)    *
* triplet can legally be zero with a non-zero offset.  This indicates *
* this section is a varying length repeating group. A varying         *
* length repeating group is a series of related data blocks with      *
* differing lengths. This is typically, if not always, the result of  *
* varying length long name fields in the data block.                  *
*                                                                     *
*                                                                     *
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: QWT02RHO LEN(4) TYPE(BIN) DISP(136)
                                 /*OFFSET TO THE DATA SECTION PM10989*/
FLD: QWT02RHL LEN(2) TYPE(BIN) DISP(140)
                                 /*LENGTH OF THE DATA SECTION PM10989*/
FLD: QWT02RHN LEN(2) TYPE(BIN) DISP(142)
                                  /*NUMBER OF DATA SECTIONS PM10989*/
FLD: QWT02END LEN(1) DISP(144)    /*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)    /*%U LOCAL LOCATION NAME*/
*                                   Truncated if QWHSLOCN_Off¬=0
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: QWHSFLAG LEN(1) DISP(76)     /*Flags*/
COMP: QWHS_UNICODE = X'80'        /*%U fields contain Unicode (UTF 8)*/
FLD: QWHSLOCN_OFF TYPE(HALF) DISP(78)           /*Offset from QWHS to*/
*                                   LOCAL LOCATION NAME
*                                   If QWHSLOCN truncated
FLD: QWHSSUBV TYPE(HALF) DISP(80)
                                /*THE SUBVERSION FOR THE BASE RELEASE*/
FLD: QWHSEND  LEN(1) DISP(82)     /*END OF STANDARD HEADER*/
*
*

***********************************************************************
**** QWHSLOCN_D   DSECT           Use if QWHSLOCN_Off¬=0               
***********************************************************************

COMP: QWHSLOCN_D_OFFSET =
           WHEN(QWHS_OFFSET <> 99999 AND QWHSLOCN_Off <> 0)
                          ASSIGN(QWHS_OFFSET + QWHSLOCN_Off)
           ELSE           ASSIGN(99999)
FLD: QWHSLOCN_D DISP(0) LEN(1) OFFSET(QWHSLOCN_D_OFFSET)
                                  /*Use if QWHSLOCN_Off¬ 0*/
*
FLD: QWHSLOCN_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHSLOCN_VAR LEN(128) DISP(2)/*%U LOCAL LOCATION NAME*/
*
***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)      /*%U AUTHORIZATION ID*/
*                                  /*   Truncated if QWHCAID_Off¬=0  */
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)     /*%U ORIGINAL OPERATOR ID*/
*                                  /*   Truncated if QWHCOPID_Off¬=0 */
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.            */
*                                  /*   Truncated if QWHCOPID_Off¬=0 */
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: QWHCAID_OFF TYPE(HALF) DISP(142)           /*Offset from QWHC to*/
*                                  /*   AUTHORIZATION ID             */
*                                  /*   If QWHCAID truncated         */
FLD: QWHCOPID_OFF TYPE(HALF) DISP(144)          /*Offset from QWHC to*/
*                                  /*   ORIGINAL OPERATOR ID         */
*                                  /*   If QWHCOPID truncated        */
FLD: QWHCEUID_OFF TYPE(HALF) DISP(146)          /*Offset from QWHC to*/
*                                  /*   THE END USER'S USERID        */
*                                  /*   If QWHCEUID truncated        */
*                                  /* Trusted context and role data  */
*                                  /* will be present if the record  */
*                                  /* is written by an agent running */
*                                  /* under a trusted context and    */
*                                  /* the trusted context data can   */
*                                  /* be accessed.                   */
FLD: QWHCTCXT_OFF TYPE(HALF) DISP(148)          /*Offset from QWHC to*/
*                                  /* Trusted Context name, if       */
*                                  /* running in a trusted context   */
FLD: QWHCROLE_OFF TYPE(HALF) DISP(150)          /*Offset from QWHC to*/
*                                  /* Role name associated with the  */
*                                  /* Authorization ID, if running   */
*                                  /* in a trusted context           */
FLD: QWHCOAUD_OFF TYPE(HALF) DISP(152) /*Offset from QWHC to original*/
*                                  /* application USERID             */
FLD: QWHCCTKN_OFF TYPE(HALF) DISP(154)          /*Offset from QWHC to*/
*                                  /* the correlation token.         */
*                                  /* V9-Present only if QWHSSUBV    */
*                                  /*    is 1 or higher.             */
FLD: QWHCEND  LEN(4) TYPE(BIN) DISP(156)
*
*
***********************************************************************
**** QWHCAID_D    DSECT            /* Use if QWHCAID_Off¬=0          */
***********************************************************************

COMP: QWHCAID_D_OFFSET =
           WHEN(QWHC_OFFSET <> 99999 AND QWHCAID_Off <> 0)
                    ASSIGN(QWHC_OFFSET + QWHCAID_Off)
           ELSE     ASSIGN(99999)
FLD: QWHCAID_D DISP(0) LEN(1) OFFSET(QWHCAID_D_OFFSET)
                                  /*Use if QWHCAID_Off¬ 0*/
FLD: QWHCAID_LEN TYPE(HALF) DISP(0)   /*Length of the following field*/
FLD: QWHCAID_VAR LEN(128) DISP(2) /*%U AUTHORIZATION ID*/
*
*
***********************************************************************
**** QWHCOPID_D   DSECT            /* Use if QWHCOPID_Off¬=0         */
***********************************************************************

COMP: QWHCOPID_D_OFFSET =
           WHEN(QWHC_OFFSET <> 99999 AND QWHCOPID_Off <> 0)
                    ASSIGN(QWHC_OFFSET + QWHCOPID_Off)
           ELSE     ASSIGN(99999)
FLD: QWHCOPID_D DISP(0) LEN(1) OFFSET(QWHCOPID_D_OFFSET)
                                  /*Use if QWHCOPID_Off¬ 0*/
FLD: QWHCOPID_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHCOPID_VAR LEN(128) DISP(2)/*%U ORIGINAL OPERATOR ID*/
*
*
***********************************************************************
**** QWHCEUID_D   DSECT            /* Use if QWHCEUID_Off¬=0         */
***********************************************************************

COMP: QWHCEUID_D_OFFSET =
           WHEN(QWHC_OFFSET <> 99999 AND QWHCEUID_Off <> 0)
                    ASSIGN(QWHC_OFFSET + QWHCEUID_Off)
           ELSE     ASSIGN(99999)
FLD: QWHCEUID_D DISP(0) LEN(1) OFFSET(QWHCEUID_D_OFFSET)
                                  /*Use if QWHCEUID_Off¬ 0*/
FLD: QWHCEUID_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHCEUID_VAR LEN(128) DISP(2)/*END USER'S USERID*/
*
*
***********************************************************************
**** QWHCTCXT_D   DSECT            /* Use if QWHCTCXT_Off¬=0         */
***********************************************************************

COMP: QWHCTCXT_D_OFFSET =
           WHEN(QWHC_OFFSET <> 99999 AND QWHCTCXT_Off <> 0)
                    ASSIGN(QWHC_OFFSET + QWHCTCXT_Off)
           ELSE     ASSIGN(99999)
FLD: QWHCTCXT_D DISP(0) LEN(1) OFFSET(QWHCTCXT_D_OFFSET)
                                  /*Use if QWHCTCXT_Off¬ 0*/
FLD: QWHCTCXT_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHCTCXT_VAR LEN(128) DISP(2)/*%U Trusted Context name*/
*
*
***********************************************************************
**** QWHCROLE_D   DSECT            /* Use if QWHCROLE_Off¬=0         */
***********************************************************************

COMP: QWHCROLE_D_OFFSET =
           WHEN(QWHC_OFFSET <> 99999 AND QWHCROLE_Off <> 0)
                    ASSIGN(QWHC_OFFSET + QWHCROLE_Off)
           ELSE     ASSIGN(99999)
FLD: QWHCROLE_D DISP(0) LEN(1) OFFSET(QWHCROLE_D_OFFSET)
                                  /*Use if QWHCROLE_Off¬ 0*/
FLD: QWHCROLE_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHCROLE_VAR LEN(128) DISP(2)/*%U Role name associated with*/
*                                  /*    authid                      */
*
*
***********************************************************************
**** QWHCOAUD_D   DSECT            /* Use if QWHCOAUD_Off¬=0         */
***********************************************************************

COMP: QWHCOAUD_D_OFFSET =
           WHEN(QWHC_OFFSET <> 99999 AND QWHCOAUD_Off <> 0)
                    ASSIGN(QWHC_OFFSET + QWHCOAUD_Off)
           ELSE     ASSIGN(99999)
FLD: QWHCOAUD_D DISP(0) LEN(1) OFFSET(QWHCOAUD_D_OFFSET)
                                  /*Use if QWHCOAUD_Off¬ 0*/
FLD: QWHCOAUD_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHCOAUD_VAR LEN(128) DISP(2)/*%U Original application USERID*/
*
*
***********************************************************************
**** QWHCCTKN_D   DSECT            /* Use if QWHCCTKN_Off¬=0         */
***********************************************************************

COMP: QWHCCTKN_D_OFFSET =
           WHEN(QWHC_OFFSET <> 99999 AND QWHCCTKN_Off <> 0)
                    ASSIGN(QWHC_OFFSET + QWHCCTKN_Off)
           ELSE     ASSIGN(99999)
FLD: QWHCCTKN_D DISP(0) LEN(1) OFFSET(QWHCCTKN_D_OFFSET)
                                  /*Use if QWHCCTKN_Off¬ 0*/
FLD: QWHCCTKN_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHCCTKN_VAR LEN(128) DISP(2)/*%U Correlation token.*/
*
*
*/*****************************************************************/
*/*      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  TYPE(STCKTIME) DISP(4)
                               /*CPU time of the currently dispatched*/
*                      /* execution unit (TCB or SRB).  This    */
*                      /* time includes CPU consumed on an IBM  */
*                      /* specialty engine.                     */
*                      /* Note: A given ACE token may           */
*                      /* run under one or more MVS dispatchable*/
*                      /* execution units. Thus the CPU time for*/
*                      /* a given ACE may decrease between      */
*                      /* events.  Binary zero indicates        */
*                      /* CPU 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)
                         /*%U REQUESTER LOCATION NAME BLANK IF HEADER*/
*                            IS WRITTEN AT APPLICATION REQUESTER SITE
*                            THE NAME BY WHICH DB2 KNOWS THE APPLI-
*                            REQUESTER
*                            Truncated if QWHDRQNM_Off¬=0
FLD: QWHDTSTP LEN(8) DISP(20)     /*TIMESTAMP FOR DBAT TRACE RECORDS*/
FLD: QWHDSVNM LEN(16) DISP(28)
                         /*%U 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.
*                            Truncated if QWHDSVNM_Off¬=0
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: QWHDRQNM_OFF TYPE(HALF) DISP(52)           /*Offset from QWHD to*/
*                            REQUESTER LOCATION NAME
*                            If QWHDRQNM truncated
FLD: QWHDSVNM_OFF TYPE(HALF) DISP(54)              /*Offset from QWHD*/
*                            SRVNAM PARAMETER OF DRDA EXCSAT COMMAND
*                            If QWHDSVNM truncated
FLD: QWHDEND  LEN(4) TYPE(BIN) DISP(56)
*
*
*
***********************************************************************
**** QWHDRQNM_D   DSECT   Use if QWHDRQNM_Off¬=0                       
***********************************************************************

COMP: QWHDRQNM_D_OFFSET =
           WHEN(QWHD_OFFSET <> 99999 AND QWHDRQNM_Off <> 0)
                    ASSIGN(QWHD_OFFSET + QWHDRQNM_Off)
           ELSE     ASSIGN(99999)
FLD: QWHDRQNM_D DISP(0) LEN(1) OFFSET(QWHDRQNM_D_OFFSET)
                                  /*Use if QWHDRQNM_Off¬ 0*/
FLD: QWHDRQNM_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHDRQNM_VAR LEN(128) DISP(2)/*%U REQUESTER LOCATION NAME*/
*
*
*
***********************************************************************
**** QWHDSVNM_D   DSECT   Use if QWHDSVNM_Off¬=0                       
***********************************************************************

COMP: QWHDSVNM_D_OFFSET =
           WHEN(QWHD_OFFSET <> 99999 AND QWHDSVNM_Off <> 0)
                    ASSIGN(QWHD_OFFSET + QWHDSVNM_Off)
           ELSE     ASSIGN(99999)
FLD: QWHDSVNM_D DISP(0) LEN(1) OFFSET(QWHDSVNM_D_OFFSET)
                                  /*Use if QWHDSVNM_Off¬ 0*/
FLD: QWHDSVNM_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QWHDSVNM_VAR LEN(128) DISP(2)
                         /*%U SRVNAM PARAMETER OF DRDA EXCSAT COMMAND*/
*********************************************************************
* 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 TO SPECTRUM SMF WRITER USERS - - - - - - - - - *
*   YOU CAN PERFORM THE DATABASE NAME LOOKUPS DESCRIBED ABOVE       *
*   IF YOU HAVE PURCHASED THE DB2 OPTION FOR SPECTRUM SMF WRITER.   *
*   CALL US FOR A FREE 30-DAY TRIAL OF THE DB2 OPTION.              *
*                                                                   *
*********************************************************************
*
*  NOTE: FIELDS DEFINED AS CHARACTER MAY CONTAIN HEX DATA
*

********************************************************************
*   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 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: SMF10210
*        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(128) DISP(4) /*MESSAGE TEXT USED TO START THE TRACE*/
FLD: QW0004CM LEN(8) DISP(4)      /*(S)*/
COMPUTE: EDIT_QW0004MS = #LEFT(QW0004MS,QW0004RL) 
*

********************************************************************
* 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: SMF10210
*        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(128) DISP(4)  /*MESSAGE TEXT USED TO STOP THE TRACE*/
FLD: QW0005CM LEN(4) TYPE(BIN) DISP(4)                          /*(S)*/
COMPUTE: EDIT_QW0005MS = #LEFT(QW0005MS,QW0005RL) 
*

********************************************************************
* 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: SMF10210
*        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 TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0006OB TYPE(HALF) 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*/
FLD: QW0006PT LEN(4) TYPE(BIN) DISP(24)
                                  /*Partition number or 0 if non*/
*                                 partitioned

********************************************************************
* IFC ID 0007 FOR RMID 10 RECORDS THE COMPLETION CODE AFTER        *
*  THE READ I/O OPERATION                                          *
********************************************************************
***********************************************************************
**** QW0007   DSECT             IFCID(QWHS0007)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0007, USE:
* INPUT: SMF10210
*        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 TYPE(HALF) DISP(4)  /*DATABASE ID (DBID)*/
FLD: QW0007OB TYPE(HALF) 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*/

********************************************************************
* DATA SECTION 2 FOR THE IFCID 7 RECORD IS THE ID OF THE PAGES THAT
* ARE PREFETCHED SUCCESSFULLY VIA AN IO OPERATION.  THIS IS ONLY
* PRESENT WHEN QW0006F IS S, L, OR D.  THIS IS A REPEATING GROUP.
********************************************************************
***********************************************************************
**** QW00072   DSECT
***********************************************************************

COMP: QW00072_OFFSET =
           WHEN(QW0007_OFFSET <> 99999 AND QW0007NP > 0)
                    ASSIGN(QW0007_OFFSET + 16)
           ELSE     ASSIGN(99999)
FLD: QW00072  DISP(0) LEN(1) OFFSET(QW00072_OFFSET)
FLD: QW0007PF LEN(4) TYPE(BIN) DISP(0)
                                /*PAGE PREFETCHED VIA AN IO OPERATION*/
*

********************************************************************
* 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: SMF10210
*        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 TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0008OB TYPE(HALF) 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*/
FLD: QW0008PT LEN(4) TYPE(BIN) DISP(28)
                                  /*Partition number or 0 if non*/
*                   partitioned
*

********************************************************************
* IFC ID 0009 FOR RMID 10 RECORDS THE COMPLETION CODE AFTER        *
*  THE WRITE I/O OPERATION (SYNCHRONOUS OR ASYNCHRONOUS)           *
********************************************************************
***********************************************************************
**** QW0009   DSECT          IFCID(QWHS0009)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0009, USE:
* INPUT: SMF10210
*        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: SMF10210
*        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 TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0010OB TYPE(HALF) 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*/
FLD: QW0010PT LEN(4) TYPE(BIN) DISP(28)
                                  /*Partition number or 0 if non*/
*                   partitioned
*

********************************************************************
* IFC ID 0011 FOR RMID 14 RECORDS RESULTS OF A VALIDATION EXIT CALL*
* WRITTEN FOR EVERY VALIDATED ROW                                  *
********************************************************************
***********************************************************************
**** QW0011   DSECT           IFCID(QWHS0011)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0011, USE:
* INPUT: SMF10210
*        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 TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0011PS TYPE(HALF) DISP(2)  /*PAGESET OBID*/
FLD: QW0011OB TYPE(HALF) 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: SMF10210
*        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 TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0012PS TYPE(HALF) DISP(2)  /*PAGESET OBID*/
FLD: QW0012OB TYPE(HALF) 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           SELF DEFINING SECTION 1 - QWT02R10
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0013, USE:
* INPUT: SMF10210
*        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)
                                  /*SELF DEFINING SECTION 1 QWT02R10*/
FLD: QW0013DB TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0013PS TYPE(HALF) DISP(2)  /*PAGESET OBID*/
FLD: QW0013OB TYPE(HALF) DISP(4)  /*RECORD OBID*/

***********************************************************************
**** QW0013S2 DSECT          SELF DEFINING SECTION 2 - QWT02R2O
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0013S2, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 044 2I N | 028 004 2 00013')
***********************************************************************
COMP: QW0013S2_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>13 OR QWT02R2N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R2O)
FLD: QW0013S2 DISP(0) LEN(1) OFFSET(QW0013S2_OFFSET)
                                  /*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*/

********************************************************************
* IFC ID 0014 FOR RMID 14 RECORDS END OF HASH SCAN                 *
********************************************************************
***********************************************************************
**** QW0014   DSECT           IFCID(QWHS0014)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0014, USE:
* INPUT: SMF10210
*        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           SELF DEFINING SECTION 1 - QWT02R10
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0015, USE:
* INPUT: SMF10210
*        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)
                                  /*SELF DEFINING SECTION 1 QWT02R10*/
FLD: QW0015AC LEN(4) TYPE(BIN) DISP(0)     /*CUB TOKEN FOR UNIQUENESS*/
FLD: QW0015DB TYPE(HALF) DISP(4)  /*DATABASE ID (DBID)*/
FLD: QW0015PS TYPE(HALF) DISP(6)  /*PAGESET OBID FOR THE TABLESPACE*/
FLD: QW0015OB TYPE(HALF) DISP(8)  /*RECORD OBID FOR THE TABLE*/
FLD: QW0015IB TYPE(HALF) DISP(10) /*INDEX OBID*/

***********************************************************************
**** QW0015S2 DSECT     SELF DEFINING SECTION 2 - QWT02R2O
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0015S2, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 044 2I N | 028 004 2 00015')
***********************************************************************
COMP: QW0015S2_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>15 OR QWT02R2N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R2O)
FLD: QW0015S2 DISP(0) LEN(1) OFFSET(QW0015S2_OFFSET)
                                  /*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*/

********************************************************************
* IFC ID 0016 FOR RMID 14 RECORDS INPUT TO FIRST INSERT            *
* THE SECTION IS LOCATED OUT OF QWT02R1O                           *
********************************************************************
***********************************************************************
**** QW0016   DSECT          IFCID(QWHS0016)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0016, USE:
* INPUT: SMF10210
*        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 TYPE(HALF) DISP(4)  /*DATABASE ID (DBID)*/
FLD: QW0016PS TYPE(HALF) DISP(6)  /*PAGESET OBID FOR THE TABLESPACE*/
FLD: QW0016OB TYPE(HALF) 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*/

********************************************************************
*IFC ID 0017 FOR RMID 14,RECORDS INPUT TO SEQUENTIAL SCAN          *
*           AND WORKFILE SCAN. WRITTEN AT THE BEGINNING OF A       *
*           TABLESPACE OR WORKFILE SCAN.  WHEN PARALLELISM IS IN   *
*           EFFECT, RECORDS INPUT FOR SCAN FOR EACH I/O LOGICAL    *
*           PARTITION (I/O STREAM).                                *
********************************************************************
***********************************************************************
**** QW0017   DSECT          IFCID(QWHS0017)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0017, USE:
* INPUT: SMF10210
*        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 TYPE(HALF) DISP(4)  /*DATABASE ID (DBID)*/
FLD: QW0017PS TYPE(HALF) DISP(6)  /*PAGESET OBID*/
FLD: QW0017OB TYPE(HALF) 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*/

********************************************************************
* IFC ID 0018 FOR RMID 14 RECORDS END OF SEQUENTIAL SCAN (0017),   *
*  INDEX SCAN (0015), OR INSERT (0016). THE RECORD WRITTEN         *
*  MAY BE AT END OF FILE, CLOSE OF CUB, REUSE OF CUB, OR NO RECORD *
*  FOUND CONDITION, OR                                             *
*  WHEN PARALLELISM IS IN EFFECT, RECORDS END OF                   *
*  SCAN FOR EACH I/O LOGICAL PARTITION (I/O STREAM).               *
*                                                                  *
* IFCID 0015, 0016 OR 0017 MUST BE ACTIVE FOR THIS END RECORD TO   *
* BE WRITTEN.                                                      *
********************************************************************
***********************************************************************
**** QW0018   DSECT          IFCID(QWHS0018)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0018, USE:
* INPUT: SMF10210
*        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*/

********************************************************************
* IFC ID 0019 FOR RMID 14 AND RMID 16 RECORDS RESULTS OF AN EDIT   *
* EXIT CALL TO DECODE A RECORD - WRITTEN FOR EVERY ROW DECODED     *
********************************************************************
***********************************************************************
**** QW0019   DSECT           IFCID(QWHS0019)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0019, USE:
* INPUT: SMF10210
*        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 TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0019PS TYPE(HALF) DISP(2)  /*PAGESET OBID*/
FLD: QW0019OB TYPE(HALF) 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, LOCKS, LOB &*  
*  XML 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: SMF10210
*        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, LOB and XML 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, LOB or*/
*                           XML 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                 
*QW0020S1 EQU   X'01'    *  RESERVED                              * 
*QW0020S2 EQU   X'02'    *  INTENTED    SHARE                     *   
*QW0020S3 EQU   X'03'    *  INTENTED EXCLUSIVE                    *   
*QW0020S4 EQU   X'04'    *  SHARED                                *   
*QW0020S5 EQU   X'05'    *  UPDATE                                *   
*QW0020S6 EQU   X'06'    *  SHARED INTENT EXCLUSIVE               *   
*QW0020S7 EQU   X'07'    *  RESERVED                              *   
*QW0020S8 EQU   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*/
*QW0020F1 EQU   X'01'    *  SIMPLE TABLE SPACE                    *   
*QW0020F2 EQU   X'02'    *  SEGMENTED TABLE SPACE                 * 
*QW0020F3 EQU   X'03'    *  PARTITIONED TABLE SPACE               *   
*QW0020F4 EQU   X'04'    *  PARTITIONED TABLE SPACE USING SPL     *   
*QW0020F5 EQU   X'05'    *  LOB table space                       *   
*QW0020F6 EQU   X'06'    *  XML table space                       *   
*                                                                    
FLD: QW0020PR LEN(1) DISP(21) /*TYPE OF LOWER LEVEL LOCK USED, IF ANY*/
*QW0020R0 EQU   X'00'    * NONE                                   *   
*QW0020R1 EQU   X'01'    * PAGE LOCK                              *   
*QW0020R2 EQU   X'02'    * ROW LOCK                               *   
*QW0020R3 EQU   X'03'    * LOB lock                               *   
*QW0020R4 EQU   X'04'    * XML lock                               *     

********************************************************************
* IFC ID 0023 FOR RMID 21 RECORDS UTILITY START INFORMATION        *
********************************************************************
***********************************************************************
**** QW0023   DSECT               IFCID(QWHS0023)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0023, USE:
* INPUT: SMF10210
*        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 TYPE(HALF) DISP(16) /*DBID NORMALLY ZERO*/
FLD: QW0023PD TYPE(HALF) 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*/

********************************************************************
* IFC ID 0024 FOR RMID 21 RECORDS UTILITY OBJECT OR PHASE CHANGE   *
********************************************************************
***********************************************************************
**** QW0024   DSECT               IFCID(QWHS0024)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0024, USE:
* INPUT: SMF10210
*        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 TYPE(HALF) DISP(16) /*DBID MAY BE ZERO*/
FLD: QW0024PD TYPE(HALF) 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: SMF10210
*        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 TYPE(HALF) DISP(16) /*DBID*/
FLD: QW0025PD TYPE(HALF) 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 0044 FOR RMID 20 RECORDS A LOCK SUSPEND OR AN IDENTIFY    *  
*  CALL TO THE IRLM                                                *  
********************************************************************  
*                                                                     
***********************************************************************
**** QW0044   DSECT                                                   
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0044, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00044')
***********************************************************************
COMP: QW0044_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>44 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0044   DISP(0) LEN(1) OFFSET(QW0044_OFFSET)
FLD: QW0044RT LEN(4) DISP(0)      /** LOCK REQUEST TOKEN **/
*                          - ZERO ON LOCK                             
*                          - ZERO ON QUERY                            
*                          - ON UNLOCK OR CHANGE A NON ZERO           
*                            VALUE INDICATES THE LOCK TO FREE         
*                            (IE. THE VALUES IN QW0044LK NOT VALID)   
*                            THIS VALUE COULD MATCH QW0021FT          
*                            IN THE CORRESPONDING PREVIOUS            
*                            SUCCESSFUL 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: QW0044LH LEN(4) DISP(4)    /** LOCKED RESOURCE NAME HASH VALUE **/
FLD: QW0044LK LEN(32) DISP(8)     /** DB2 LOCK NAME COMPOSED OF: **/
FLD: QW0044KL LEN(1) TYPE(BIN) DISP(8)
                                  /** ()LENGTH OF THE LOCK NAME **/
FLD: QW0044KT LEN(1) DISP(11)
                           /** ()FLAGS FOR THE LOCKED RESOURCE TYPE **/
*QW0044L0 EQU   X'00'    *         DATA PAGE LOCKING              *    
*QW0044L1 EQU   X'01'    *         DATA BASE LOCKING              *    
*QW0044L2 EQU   X'02'    *         PAGESET LOCKING                *    
*QW0044L3 EQU   X'03'    *         PARTITIONED TABLE SPACE LOCKING*    
*QW0044L4 EQU   X'04'    *         SKELETON CURSOR TABLE LOCKING  *    
*QW0044L5 EQU   X'05'    *         INDEX PAGE LOCKING             *    
*QW0044L6 EQU   X'06'    *         PARTITION LOCKING              *    
*QW0044L7 EQU   X'07'    *         PAGESET OR DATA SET OPEN LOCK  *    
*QW0044L8 EQU   X'08' (S)*                                        *    
*QW0044L9 EQU   X'09' (S)*                                        *    
*QW0044LA EQU   X'0A'    *         START/STOP LOCK ON DBA TABLE   *    
*QW0044LB EQU   X'0B' (S)*                                        *    
*QW0044LC EQU   X'0C' (S)*                                        *    
*QW0044LD EQU   X'0D'    *         SYSLGRNG RECORDING LOCK        *    
*QW0044LE EQU   X'0E'    *         UTILITY SERIALIZATION LOCK     *    
*QW0044LF EQU   X'0F'    *         MASS DELETE LOCK               *    
*QW0044LG EQU   X'10'    *         TABLE LOCKING                  *    
*QW0044LI EQU   X'11'    *         HASH ANCHOR LOCK               *    
*QW0044LJ EQU   X'12'    *         SKELETON PACKAGE TABLE LOCK    *    
*QW0044LL EQU   X'13'    *         COLLECTION LOCK                *    
*QW0044LM EQU   X'17'    *         AUTOBIND/REMOTE BIND LOCK      *    
*QW0044MR EQU   X'18'    *         ROW LOCK                       *    
*QW0044MI EQU   X'19'    *         INDEX END-OF-FILE              *    
*QW0044LR EQU   X'1A'    *         ALTER BUFFERPOOL LOCK          *    
*QW0044LS EQU   X'1B'    *         GROUP BUFFERPOOL START/STOP    *    
*                       *          LOCK                          *    
*QW0044LT EQU   X'1C'    *         INDEX MANAGER TREE P-LOCK      *    
*QW0044LU EQU   X'1D'    *         PAGESET/PARTITION P-LOCK       *    
*QW0044LV EQU   X'1E'    *         PAGE P-LOCK                    *  
*QW0044LX EQU   X'1F'    *         DDF CDB P-lock                 *  
*QW0044LY EQU   X'20'    *         Group Buffer Pool level        *  
*                       *          castout P-lock                *  
*QW0044LZ EQU   X'21'    *         Pageset or partition level     *  
*                       *          castout P-lock                *  
*QW0044M0 EQU   X'22'    *         RLF P-lock                     *  
*QW0044M1 EQU   X'23'    *         DBD P-lock                     *  
*QW0044M2 EQU   X'24'    *         CATMAINT convert directory lock*  
*QW0044M3 EQU   X'25'    *         CATMAINT convert catalog lock  *  
*QW0044M4 EQU   X'26'    *         CATMAINT migration lock        *  
*QW0044M5 EQU   X'27'    *         Database exception LPL/GRECP   *  
*                       *          lock                          *  
*QW0044M6 EQU   X'28'    *         Utility UID lock               *  
*QW0044M7 EQU   X'29'    *         Utility exclusive execution    *  
*                       *          lock                          *  
*QW0044M8 EQU   X'2A'    *         SCA access for restart/redo    *  
*                       *          information                   *  
*QW0044M9 EQU   X'2B'    *         Group database exception update*  
*                       *          lock                          *  
*QW0044MA EQU   X'2C'    *         REPAIR DBD TEST/DIAGNOSE       *  
*QW0044MB EQU   X'2D'    *         Database command serialization *  
*QW0044BP EQU   X'2E'    *         Buffer Mgr Pageset RR P-lock   *  
*QW0044MX EQU   X'2F' (S)*                                        *  
*QW0044ML EQU   X'30'    *         LOB lock                       *  
*QW0044MM EQU   X'32'    *         LPL recovery lock              *  
*QW0044MN EQU   X'33'    *         Hash bucket lock               *  
*QW0044SP EQU   X'34'    *         Sys Level PIT Recovery lock    *  
*QW0044MC EQU   X'35'    *         XML lock                       *  
*QW0044UO EQU   X'38'    *         Utility object lock            *  
*QW0044DL EQU   X'39'    *         DBD Load lock                  *  
*QW0044AC EQU   X'3F'    *         Accel Services commands        *  
*QW0044IK EQU   X'3D'    *         index key lock                 *  
*QW0044UX EQU   X'41'    *         Utility Catalog serial lock    *  
*QW004400 EQU   X'FF' (S)*                                        *  
FLD: QW0044RN LEN(28) DISP(12)
                              /** LOCKED RESOURCE NAME (FOR P LOCKS **/
*                       *  QW0044Z1 IS SET - USE THE QW0044PL    *  
*                       *  MAPPING BELOW).                       *  
FLD: QW0044KD LEN(2) DISP(12)     /** () DATABASE ID *SEE 5. BELOW **/
FLD: QW0044KB LEN(2) DISP(14)
                             /** () TABLE RECORD OBID *SEE 5. BELOW **/
FLD: QW0044KP LEN(2) DISP(14)
                           /** () PAGESET OBID OR TABLE RECORD OBID **/
FLD: QW0044KR LEN(4) DISP(16)     /** ID OF SMALL RESOURCE **/
FLD: QW0044K1 LEN(3) DISP(16)
                             /** 1. For pageset or data base locks, **/
FLD: QW0044K2 LEN(1) DISP(19)   /** QW0044K1 and QW0044K2 are zero. **/
FLD: QW0044KY LEN(5) DISP(16)
                          /** ID of small resource when QW0044KL 13 **/
FLD: QW0044K4 LEN(4) DISP(16)     /** page number **/
FLD: QW0044K5 LEN(1) DISP(20)     /** record id within page **/
FLD: QW0044KZ LEN(4) DISP(16)  /** ID of sm res when QW0021KT X'33' **/
FLD: QW0044K8 LEN(2) DISP(16)     /** partition number **/
FLD: QW0044K9 LEN(1) DISP(18)     /** hash bucket number **/
FLD: QW0044KX LEN(19) DISP(16)    /** ID of resource for LOB locks **/
FLD: QW0044K6 LEN(17) DISP(16)    /** Row ID **/
FLD: QW0044K7 LEN(2) DISP(33)     /** Version number **/
FLD: QW0044KC LEN(9) DISP(16)     /** Docid for XML locks **/
FLD: QW0044FC LEN(1) DISP(40)     /** IRLM FUNCTION CODE **/
*QW0044LO EQU   X'02'    *           LOCK FUNCTION                *  
*QW0044UN EQU   X'03'    *           UNLOCK FUNCTION              *  
*QW0044CH EQU   X'04'    *           CHANGE FUNCTION              *  
*QW0044NT EQU   X'05'    *           Notify function (inter-system*  
*                       *            message sending.  Anything  *  
*                       *            to do with lock state,      *  
*                       *            duration, etc. is invalid.  *  
*QW0044QY EQU   X'06'    *           QUERY FUNCTION - ANYTHING TO *  
*                       *            WITH LOCK STATE, DURATION,  *  
*                       *            ETC IS INVALID IN RECORD    *  
FLD: QW0044ST LEN(1) DISP(41)     /** LOCK STATE **/
*QW0044S0 EQU   X'00' (S)*                                        *  
*QW0044S1 EQU   X'01'    *  RESERVED                              *  
*QW0044S2 EQU   X'02'    *  INTENTED    SHARE                     *  
*QW0044S3 EQU   X'03'    *  INTENTED EXCLUSIVE                    *  
*QW0044S4 EQU   X'04'    *  SHARED                                *  
*QW0044S5 EQU   X'05'    *  UPDATE                                *  
*QW0044S6 EQU   X'06'    *  SHARED INTENT EXCLUSIVE               *  
*QW0044S7 EQU   X'07'    *  NON SHARED UPDATE                     *  
*QW0044S8 EQU   X'08'    *  EXCLUSIVE                             *  
FLD: QW0044DR LEN(1) DISP(42)     /** LOCK DURATION **/
*QW004420 EQU   X'20'    *  MANUAL                                *  
*QW004421 EQU   X'21'    *  MANUAL+1                              *  
*QW004440 EQU   X'40'    *  COMMIT                                *  
*QW004441 EQU   X'41'    *  COMMIT+1                              *  
*QW004460 EQU   X'60'    *  ALLOCATION                            *     
*QW004480 EQU   X'80'    *  PLAN                                  *     
*QW004481 EQU   X'81'    *  UTIL                               @65*     
*QW0044FF EQU   X'FF'    *  DURATION TO FREE ALL LOCKS            *     
*QW0044FE EQU   X'FE'    *  Interest duration                     *     
FLD: QW0044CL LEN(1) DISP(43)     /** (S) **/
FLD: QW0044FL LEN(1) DISP(44)     /** Flags **/
*QW0044CD EQU   X'80'    * (S)                                    *     
*QW0044AQ EQU   X'40'    * (S)                                    *     
*QW0044US EQU   X'20'    * (S)                                    *     
*QW0044SY EQU   X'10'    * (S)                                    *     
*QW0044MD EQU   X'02'    * ON = MODIFY LOCK                       *     
*QW0044FO EQU   X'01'    * ON = Force (see QW0021FO)              *     
FLD: QW0044WS LEN(2) DISP(45)     /*Reason for the suspend*/
*QW0044W1 EQU   C'LG'       IRLM generic latch contention               
*QW0044W2 EQU   C'IQ'       IRLM queued request                         
*QW0044W3 EQU   C'RL'       Contention with retained lock               
*QW0044W4 EQU   C'LC'       Local resource contention                   
*QW0044W5 EQU   C'GC'    (S)                                            
*QW0044W6 EQU   C'IS'       Inter-system communication required - there 
*                          may or may not be global resource            
*                          contention                                   
*QW0044W7 EQU   C'N '       Inter-system message sending                
*QW0044W8 EQU   C'LM'       IRLM Main Latch contention                  
*QW0044W9 EQU   C'LR'       IRLM Resource latch contention              
*QW0044WA EQU   C'LW'       IRLM Work Unit latch contention             
*QW0044WB EQU   C'LN'       IRLM Notify latch contention                
FLD: QW0044GF LEN(1) DISP(47)     /*FLAG*/
*QW0044G1 EQU   X'80'       ON = GLOBAL LOCK                            
*                          OFF = LOCAL LOCK                            
FLD: QW0044PF LEN(1) DISP(48)     /*FLAG*/
*QW0044Z1 EQU   X'80'       ON = P-LOCK                                 
*                          OFF = L-LOCK                                
FLD: QW0044F3 LEN(1) DISP(49)     /*FLAG*/
*QW0044Y1 EQU   X'80'       ON = REQUEST WAS PROPAGATED TO SLM BY IRLM  
*QW0044Y2 EQU   X'40'       ON = REQUEST WAS SENT ASYNCHRONOUSLY TO SLM 
*                               BY IRLM                                
FLD: QW0044PT LEN(4) DISP(50)    /** Parent lock token for explicit **/
*                       *  hierarchical locking.  This token is  *     
*                       *  only significant when DB2 is a member *     
*                       *  of a data sharing group.              *     
FLD: QW0044PL LEN(28) DISP(12)
                           /** Locked P lock resource name. This is **/
*                       *  the overlay for most types of P-locks *     
*                       *  (i.e. when QW0044Z1 is set). However, *     
*                       *  there are exceptions to this format.  *     
FLD: QW0044P8 LEN(8) DISP(12)
                           /** See QW0021PL for a descrition of the **/
FLD: QW0044P1 LEN(1) DISP(12)
                            /** resource name mappings for P locks. **/
FLD: QW0044P2 LEN(2) DISP(14)
FLD: QW0044P3 LEN(2) DISP(16)
FLD: QW0044P4 LEN(2) DISP(18)
FLD: QW0044P5 LEN(3) DISP(20)
FLD: QW0044P6 LEN(4) DISP(20)
FLD: QW0044A  LEN(28) DISP(12)    /** Locked resource name **/
FLD: QW0044A0 LEN(1) DISP(12)     /** Data Manager RMID **/
FLD: QW0044A1 LEN(5) DISP(13)     /** Constant 'GDBET' **/
FLD: QW0044A6 LEN(2) DISP(18)     /** Database exception hash class **/
*                       *  number (1-64)                         *  

********************************************************************  
* IFC ID 0045 FOR RMID 20 RECORDS A LOCK RESUME                    *  
********************************************************************  
*                                                                     
***********************************************************************
**** QW0045   DSECT                                                   
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0045, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00045')
***********************************************************************
COMP: QW0045_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>45 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0045   DISP(0) LEN(1) OFFSET(QW0045_OFFSET)
FLD: QW0045R  LEN(1) DISP(0)      /*REASON FOR RESUME*/
*QW0045D  EQU   C'D'         D = DEADLOCK                              
*QW0045I  EQU   C'I'         I = IDENTIFY TO IRLM                      
*QW0045N  EQU   C'N'         N = NORMAL RESUME                         
*QW0045T  EQU   C'T'         T = TIMEOUT                               
FLD: QW0045SR LEN(1) DISP(1)
                          /*Reason for the suspend this is a bit mask*/
*                           since there may have been multiple reasons
*                           why the request was suspended (e.g. it    
*                           first hit IRLM latch contention, then it  
*                           hit IRLM local resource contention).      
*QW0045W1 EQU   X'80'        IRLM latch contention                     
*QW0045W2 EQU   X'40'        IRLM queued request                       
*QW0045W3 EQU   X'20'        Local resource contention                 
*QW0045W4 EQU   X'10'        Contention with retained lock            
*QW0045W5 EQU   X'08'        Intersystem communication required to     
*                           resolve the IRLM request - if set, then   
*                           consult QW0045XR to determine the extent  
*                           of the global contention                  
*QW0045W6 EQU   X'04'        Global resource contention                
*QW0045W7 EQU   X'02'        Inter-system message sending              
*QW0045W8 EQU   X'01'        False resource contention                 
FLD: QW0045XR LEN(1) DISP(2)
                        /*Flags to determine the extent of the global*/
*                           contention - QW0045XR is applicable only   
*                           if QW0045W5 is set.  To determine the      
*                           extent of the global contention, you       
*                           should interrogate the flag bits as        
*                           follows:                                   
*                            If QW0045X4=ON then                       
*                               IRLM global resource contention        
*                            Else If QW0045X3=ON then                  
*                               XES global resource contention         
*                            Else                                      
*                               False contention or sync-to-async      
*                               heuristic conversion                   
*QW0045X1 EQU   X'80'       (S)                                         
*QW0045X2 EQU   X'40'       (S)                                         
*QW0045X3 EQU   X'20'       ON = MVS XES resource contention            
*                          OFF = no MVS XES resource contention        
*QW0045X4 EQU   X'10'       ON = IRLM global resource contention        
*                          OFF = no IRLM global resource contention    
*QW0045X5 EQU   X'08'    (S)                                            
*QW0045X6 EQU   X'04'    (S)                                            
*QW0045X7 EQU   X'02'    (S)                                            
*QW0045X8 EQU   X'01'    (S)                                            

*/********************************************************************/
*/* 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: SMF10210
*        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: SMF10210
*        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 ASSOCIATES AN INTERNAL DBID AND OBID TO  */
*/*  THE ACTUAL DATA BASE AND TABLE SPACE OR INDEX 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: SMF10210
*        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 TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0105OB TYPE(HALF) DISP(2)  /*PAGESET OBID (PSID)*/
FLD: QW0105DN LEN(8) DISP(4)      /*DATA BASE NAME*/
FLD: QW0105TN LEN(8) DISP(12)     /*TABLE SPACE NAME*/

********************************************************************/
*/* IFC ID 0107 FOR RMID 10 ASSOCIATES AN INTERNAL DBID AND OBID TO  */
*/*  THE ACTUAL DATA BASE AND TABLE SPACE OR INDEX REFERENCED.       */
*/*  OPEN INDICATES THIS IS A NEW REFERENCE WHILE CLOSE INDICATES    */
*/*  THE OBJECT IS NO LONGER BEING REFERENCED.                       */
*/********************************************************************/
***********************************************************************
**** QW0107   DSECT               IFCID(QWHS0107)
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0107, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00107')
***********************************************************************
COMP: QW0107_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>107 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0107   DISP(0) LEN(1) OFFSET(QW0107_OFFSET)  /*IFCID(QWHS0107)*/
FLD: QW0107T  LEN(1) DISP(0)      /*TYPE OF REQUEST*/
COMP: QW0107TO = 'O'              /*OPEN*/
COMP: QW0107TC = 'C'              /*CLOSE*/
FLD: QW0107DB LEN(2) DISP(2)      /*DATABASE ID (DBID)*/
FLD: QW0107OB LEN(2) DISP(4)      /*PAGESET OBID*/
FLD: QW0107DN LEN(8) DISP(6)      /*DATA BASE NAME*/
FLD: QW0107TN LEN(8) DISP(14)     /*TABLE SPACE NAME*/

***********************************************************************
*        IFCID 0140 RECORDS AUTHORIZATION FAILURES **
***********************************************************************
*
***********************************************************************
**** QW0140   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0140, USE:
* INPUT: SMF10210
*        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: QW0140DO = 09               /*DISPLAY PROFILE*/
COMP: QW0140SF = 10               /*START PROFILE*/
COMP: QW0140PF = 11               /*STOP PROFILE*/
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*/
COMP: QW0140ML = 280              /*VALIDATE SECLABEL*/
COMP: QW0140MR = 281              /*MLS READWRITE*/
COMP: QW0140DF = 282              /*DEBUG SESSION*/
COMP: QW0140RX = 283              /*RENAME 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: QW0140BL = 'L'              /*ROLE*/
COMP: QW0140BM = 'M'              /*SCHEMA*/
COMP: QW0140BR = 'N'              /*TRUSTED CONTEXT*/
COMP: QW0140BO = 'O'              /*PROCEDURE*/
COMP: QW0140BP = 'P'              /*APPLICATION PLAN*/
COMP: QW0140BQ = 'Q'              /*SEQUENCE*/
COMP: QW0140BS = 'R'              /*TABLESPACE*/
COMP: QW0140BG = 'S'              /*STORAGE GROUP*/
COMP: QW0140BT = 'T'              /*TABLE OR VIEW*/
COMP: QW0140BU = 'U'              /*USER AUTH*/
COMP: QW0140AC = 'A'              /*ACEE*/
COMP: QW0140RO = 'W'              /*ROW*/
FLD: QW0140SC LEN(8) DISP(3)      /*%U 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.
*                             Truncated if QW0140SC_Off¬=0
*
FLD: QW0140SN LEN(18) DISP(11)    /*%U 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.
*                             Truncated if QW0140SN_Off¬=0
*
FLD: QW0140TC LEN(8) DISP(29)
                           /*%U 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.
*                             Truncated if QW0140TC_Off¬=0
*
FLD: QW0140TN LEN(18) DISP(37)
                          /*%U TARGET OBJECT NAME: Name of the object*/
*                             being defined.  Once again, this field
*                             is valid only in the above mentioned
*                             situations.
*                             Truncated if QW0140TN_Off¬=0
*
FLD: QW0140UR LEN(8) DISP(55)     /*%U AUTH ID BEING CHECKED*/
*                             Truncated if QW0140UR_Off¬=0
*
FLD: QW0140AT LEN(1) DISP(63)     /*AUTH ID TYPE*/
*                            ' ' - PRIMARY OR SECONDARY
*                                  AUTHORIZATION ID
*                            'L' - A ROLE
*
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: QW0140SC_OFF TYPE(HALF) DISP(80)         /*Offset from QW0140 to*/
*                              SOURCE OBJECT OWNER
*                              If QW0140SC truncated
FLD: QW0140SN_OFF TYPE(HALF) DISP(82)         /*Offset from QW0140 to*/
*                              SOURCE OBJECT NAME
*                              If QW0140SN truncated
FLD: QW0140TC_OFF TYPE(HALF) DISP(84)         /*Offset from QW0140 to*/
*                              TARGET OBJECT OWNER
*                              If QW0140TC truncated
FLD: QW0140TN_OFF TYPE(HALF) DISP(86)         /*Offset from QW0140 to*/
*                              TARGET OBJECT NAME
*                              If QW0140TN truncated
FLD: QW0140UR_OFF TYPE(HALF) DISP(88)         /*Offset from QW0140 to*/
*                              AUTH ID BEING CHECKED
*                              If QW0140UR truncated
FLD: QW0140ID LEN(5) DISP(97)     /*RID of row being updtd/delted*/
*                      in an MLS table
FLD: QW0140RL LEN(8) DISP(102)    /*Seclabel for/of MLS table row*/
FLD: QW0140UT LEN(80) DISP(110)   /*ACEE UTOKEN IF AVAILABLE*/
*                      If not accessible 1st word
*                         0 - Not able to get UTOKEN
*                        -1 - Abend on accessing ACEE
FLD: QW0140TX LEN(1) DISP(192)    /*SQL TEXT AND LENGTH*/
FLD: QW0140LL LEN(4) TYPE(BIN) DISP(192)
                                /*LENGTH OF FAILING SQL STATEMENT + 4*/
*                      ZERO WHEN NO SQL STATEMENT EXISTS
FLD: QW0140LE TYPE(HALF) DISP(196)
                        /*LENGTH OF TRUNCATED SQL STATEMENT IN RECORD*/
FLD: QW0140SQ LEN(1) DISP(198)
                           /*%U FAILING SQL STATEMENT (IF APPLICABLE)*/
*                      ONLY FIRST 4000 OF SQL STATEMENT SHOWN
*                      SKELETON STMT FOR 'SET CURRENT SQLID'

***********************************************************************
**** QW0140SC_D   DSECT      Use if QS0140SC_Off^=0
***********************************************************************

COMP: QW0140SC_D_OFFSET =
  WHEN(QW0140_OFFSET <> 99999 AND QW0140SC_OFF <> 0)
                    ASSIGN(QW0140_OFFSET + QW0140SC_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0140SC_D DISP(0) LEN(1) OFFSET(QW0140SC_D_OFFSET)
                                  /*Use if QS0140SC_Off^ 0*/
FLD: QW0140SC_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0140SC_VAR LEN(128) DISP(2)/*%U SOURCE OBJECT OWNER*/
COMPUTE: EDIT_QW0140SC_Var = #LEFT(QW0140SC_Var,QW0140SC_Len) 

*
***********************************************************************
**** QW0140SN_D   DSECT      Use if QS0140SN_Off^=0
***********************************************************************

COMP: QW0140SN_D_OFFSET =
  WHEN(QW0140_OFFSET <> 99999 AND QW0140SN_OFF <> 0)
                    ASSIGN(QW0140_OFFSET + QW0140SN_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0140SN_D DISP(0) LEN(1) OFFSET(QW0140SN_D_OFFSET)
                                  /*Use if QS0140SN_Off^ 0*/
FLD: QW0140SN_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0140SN_VAR LEN(128) DISP(2)/*%U SOURCE OBJECT NAME*/
COMPUTE: EDIT_QW0140SN_Var = #LEFT(QW0140SN_Var,QW0140SN_Len) 
*

***********************************************************************
**** QW0140TC_D   DSECT      Use if QS0140TC_Off^=0
***********************************************************************

COMP: QW0140TC_D_OFFSET =
  WHEN(QW0140_OFFSET <> 99999 AND QW0140TC_OFF <> 0)
                    ASSIGN(QW0140_OFFSET + QW0140TC_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0140TC_D DISP(0) LEN(1) OFFSET(QW0140TC_D_OFFSET)
                                  /*Use if QS0140TC_Off^ 0*/
FLD: QW0140TC_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0140TC_VAR LEN(128) DISP(2)/*%U TARGET OBJECT OWNER*/
COMPUTE: EDIT_QW0140TC_Var = #LEFT(QW0140TC_Var,QW0140TC_Len) 
*

***********************************************************************
**** QW0140TN_D   DSECT      Use if QS0140TN_Off^=0
***********************************************************************

COMP: QW0140TN_D_OFFSET =
  WHEN(QW0140_OFFSET <> 99999 AND QW0140TN_OFF <> 0)
                    ASSIGN(QW0140_OFFSET + QW0140TN_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0140TN_D DISP(0) LEN(1) OFFSET(QW0140TN_D_OFFSET)
                                  /*Use if QS0140TN_Off^ 0*/
FLD: QW0140TN_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0140TN_VAR LEN(128) DISP(2)/*%U TARGET OBJECT NAME*/
COMPUTE: EDIT_QW0140TN_Var = #LEFT(QW0140TN_Var,QW0140TN_Len) 
*

***********************************************************************
**** QW0140UR_D   DSECT      Use if QS0140UR_Off^=0
***********************************************************************

COMP: QW0140UR_D_OFFSET =
  WHEN(QW0140_OFFSET <> 99999 AND QW0140UR_OFF <> 0)
                    ASSIGN(QW0140_OFFSET + QW0140UR_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0140UR_D DISP(0) LEN(1) OFFSET(QW0140UR_D_OFFSET)
                                  /*Use if QS0140UR_Off^ 0*/
FLD: QW0140UR_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0140UR_VAR LEN(128) DISP(2)/*%U AUTH ID BEING CHECKED*/
COMPUTE: EDIT_QW0140UR_Var = #LEFT(QW0140UR_Var,QW0140UR_Len) 
*

***********************************************************************
*     IFCID 0141 RECORDS EXPLICIT GRANTS AND REVOKES
***********************************************************************
***********************************************************************
**** QW0141   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0141, USE:
* INPUT: SMF10210
*        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)    /*%U GRANTOR OR REVOKER BLANK WHEN BY*/
*                              CLAUSE SPECIFIED IN REVOKE STMT KYF1134
*                              Truncated if QW0141OR_Off¬=0
FLD: QW0141AC LEN(1) DISP(8)      /*ACCESS TYPE ('G' OR 'R')*/
FLD: QW0141OB LEN(1) DISP(9)      /*OBJECT TYPE (DEFINED IN QW0140OB)*/
FLD: QW0141OT LEN(1) DISP(10)     /*AUTH ID TYPE*/
*                            ' ' - PRIMARY OR SECONDARY
*                                  AUTHORIZATION ID
*                            'L' - A ROLE
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: QW0141OR_OFF TYPE(HALF) DISP(26)         /*Offset from QW0141 to*/
*                              GRANTOR OR REVOKER
*                              If QW0141OR truncated
FLD: QW0141LL LEN(4) TYPE(BIN) DISP(28)
                                /*LENGTH OF FAILING SQL STATEMENT + 4*/
FLD: QW0141LE TYPE(HALF) DISP(32)
                        /*LENGTH OF TRUNCATED SQL STATEMENT IN RECORD*/
FLD: QW0141TX LEN(1) DISP(34)
                             /*%U SQL TEXT AND LENGTH ONLY FIRST 4000*/
*                      BYTES SHOWN

***********************************************************************
**** QW0141OR_D   DSECT      Use if QW0141OR_Off^=0
***********************************************************************

COMP: QW0141OR_D_OFFSET =
  WHEN(QW0141_OFFSET <> 99999 AND QW0141OR_OFF <> 0)
                    ASSIGN(QW0141_OFFSET + QW0141OR_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0141OR_D DISP(0) LEN(1) OFFSET(QW0141OR_D_OFFSET)
                                  /*Use if QW0141OR_Off^ 0*/
FLD: QW0141OR_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0141OR_VAR LEN(128) DISP(2)/*%U GRANTOR OR REVOKER*/
COMPUTE: EDIT_QW0141OR_Var = #LEFT(QW0141OR_Var,QW0141OR_Len) 

***********************************************************************
*     IFCID 0142 RECORDS CREATES, ALTERS, AND DROPS AGAINST TABLES
*     THAT ARE AUDITED OR MULTILEVEL SECURITY AT ROW LEVEL.
***********************************************************************
*
***********************************************************************
**** QW0142   DSECT                                                     
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0142, USE:
* INPUT: SMF10210
*        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)      /*%U TABLE OWNER, SAME AS QUALIFIER*/
*                              Truncated if QW0142OW_Off¬=0
FLD: QW0142CR LEN(8) DISP(12)     /*%U TABLE CREATOR*/
*                              Truncated if QW0142CR_Off¬=0
FLD: QW0142AC LEN(1) DISP(20)   /*STATEMENT TYPE (CREATE, DROP ALTER)*/
FLD: QW0142TN LEN(18) DISP(21)    /*%U TABLE NAME*/
*                              Truncated if QW0142TN_Off¬=0
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: QW0142OR LEN(1) DISP(47)     /*TABLE OWNER TYPE*/
*                            ' ' - PRIMARY OR SECONDARY
*                                  AUTHORIZATION ID
*                            'L' - ROLE
FLD: QW0142OW_OFF TYPE(HALF) DISP(48)         /*Offset from QW0142 to*/
*                              TABLE OWNER, SAME AS QUALIFIER
*                              If QW0142OW truncated
FLD: QW0142CR_OFF TYPE(HALF) DISP(50)         /*Offset from QW0142 to*/
*                              TABLE CREATOR
*                              If QW0142CR truncated
FLD: QW0142TN_OFF TYPE(HALF) DISP(52)         /*Offset from QW0142 to*/
*                              TABLE NAME
*                              If QW0142TN truncated
*
FLD: QW0142SL LEN(8) DISP(54)     /*%U SECLABEL USED WHEN DEFINED*/
FLD: QW0142ML LEN(1) DISP(62)     /*MULTILEVEL SECURITY*/
*                              Y - On CREATE and DROP of MLS
*                                  table, and ALTER to add a
*                                  seclabel column
*                              N - On ALTER of an MLS table
*                              BLANK - A non MLS table
FLD: QW0142LL LEN(4) TYPE(BIN) DISP(64) /*LENGTH OF SQL STATEMENT + 4*/
FLD: QW0142LE TYPE(HALF) DISP(68) /*LENGTH OF TRUNCATED SQL STATEMENT*/
*                            IN RECORD
FLD: QW0142TX LEN(1) DISP(70)
                             /*%U SQL TEXT AND LENGTH ONLY FIRST 4000*/
*                            BYTES SHOWN

***********************************************************************
**** QW0142OW_D   DSECT      Use if QW0142OW_Off^=0
***********************************************************************

COMP: QW0142OW_D_OFFSET =
  WHEN(QW0142_OFFSET <> 99999 AND QW0142OW_OFF <> 0)
                    ASSIGN(QW0142_OFFSET + QW0142OW_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0142OW_D DISP(0) LEN(1) OFFSET(QW0142OW_D_OFFSET)
                                  /*Use if QW0142OW_Off^ 0*/
FLD: QW0142OW_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0142OW_VAR LEN(128) DISP(2)
                                  /*%U TABLE OWNER, SAME AS QUALIFIER*/
COMPUTE: EDIT_QW0142OW_Var = #LEFT(QW0142OW_Var,QW0142OW_Len) 
*

***********************************************************************
**** QW0142CR_D   DSECT      Use if QW0142CR_Off^=0
***********************************************************************

COMP: QW0142CR_D_OFFSET =
  WHEN(QW0142_OFFSET <> 99999 AND QW0142CR_OFF <> 0)
                    ASSIGN(QW0142_OFFSET + QW0142CR_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0142CR_D DISP(0) LEN(1) OFFSET(QW0142CR_D_OFFSET)
                                  /*Use if QW0142CR_Off^ 0*/
FLD: QW0142CR_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0142CR_VAR LEN(128) DISP(2)/*%U TABLE CREATOR*/
COMPUTE: EDIT_QW0142CR_Var = #LEFT(QW0142CR_Var,QW0142CR_Len) 
*

***********************************************************************
**** QW0142TN_D   DSECT      Use if QW0142TN_Off^=0
***********************************************************************

COMP: QW0142TN_D_OFFSET =
  WHEN(QW0142_OFFSET <> 99999 AND QW0142TN_OFF <> 0)
                    ASSIGN(QW0142_OFFSET + QW0142TN_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0142TN_D DISP(0) LEN(1) OFFSET(QW0142TN_D_OFFSET)
                                  /*Use if QW0142TN_Off^ 0*/
FLD: QW0142TN_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0142TN_VAR LEN(128) DISP(2)/*%U TABLE NAME*/
COMPUTE: EDIT_QW0142TN_Var = #LEFT(QW0142TN_Var,QW0142TN_Len) 
*

***********************************************************************
*  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: SMF10210
*        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: SMF10210
*        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: SMF10210
*        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)     /*%U LOCATION NAME*/
*                              Truncated if QW0145LN_Off¬=0
FLD: QW0145PC LEN(18) DISP(16)    /*%U PACKAGE COLLECTION ID*/
*                              Truncated if QW0145PC_Off¬=0
FLD: QW0145PN LEN(18) DISP(34)    /*%U PROGRAM NAME*/
*                              Truncated if QW0145PN_Off¬=0
FLD: QW0145TS LEN(8) DISP(52)     /*TIME STAMP*/
FLD: QW0145OS TYPE(HALF) DISP(60) /*Reserved*/
* 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)     /*Was RESERVED*/
FLD: QW0145SN LEN(4) TYPE(BIN) DISP(72) /*PRECOMPILE STATEMENT NUMBER*/
*
FLD: QW0145LN_OFF TYPE(HALF) DISP(76)         /*Offset from QW0145 to*/
*                              LOCATION NAME
*                              If QW0145LN truncated
FLD: QW0145PC_OFF TYPE(HALF) DISP(78)         /*Offset from QW0145 to*/
*                              PACKAGE COLLECTION ID
*                              If QW0145PC truncated
FLD: QW0145PN_OFF TYPE(HALF) DISP(80)         /*Offset from QW0145 to*/
*                              PROGRAM NAME
*                              If QW0145PN truncated
FLD: QW0145LL LEN(4) TYPE(BIN) DISP(84) /*LENGTH OF SQL STATEMENT + 4*/
FLD: QW0145LE TYPE(HALF) DISP(88) /*LENGTH OF TRUNCATED SQL STATEMENT*/
*                            IN RECORD
FLD: QW0145TX LEN(1) DISP(90)
                             /*%U SQL TEXT AND LENGTH ONLY FIRST 4000*/
*                            BYTES SHOWN
*
* **       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*/
***********************************************************************
**** QW0145LN_D   DSECT      Use if QW0145LN_Off¬=0                    
***********************************************************************

COMP: QW0145LN_D_OFFSET =
  WHEN(QW0145_OFFSET <> 99999 AND QW0145LN_OFF <> 0)
                    ASSIGN(QW0145_OFFSET + QW0145LN_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0145LN_D DISP(0) LEN(1) OFFSET(QW0145LN_D_OFFSET)
                                  /*Use if QW0145LN_Off¬ 0*/
FLD: QW0145LN_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0145LN_VAR LEN(128) DISP(2)/*%U LOCATION NAME*/
*
***********************************************************************
**** QW0145PC_D   DSECT      Use if QW0145PC_Off¬=0                    
***********************************************************************

COMP: QW0145PC_D_OFFSET =
  WHEN(QW0145_OFFSET <> 99999 AND QW0145PC_OFF <> 0)
                    ASSIGN(QW0145_OFFSET + QW0145PC_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0145PC_D DISP(0) LEN(1) OFFSET(QW0145PC_D_OFFSET)
                                  /*Use if QW0145PC_Off¬ 0*/
FLD: QW0145PC_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0145PC_VAR LEN(128) DISP(2)/*%U PACKAGE COLLECTION ID*/
*
***********************************************************************
**** QW0145PN_D   DSECT      Use if QW0145PN_Off¬=0                    
***********************************************************************

COMP: QW0145PN_D_OFFSET =
  WHEN(QW0145_OFFSET <> 99999 AND QW0145PN_OFF <> 0)
                    ASSIGN(QW0145_OFFSET + QW0145PN_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0145PN_D DISP(0) LEN(1) OFFSET(QW0145PN_D_OFFSET)
                                  /*Use if QW0145PN_Off¬ 0*/
FLD: QW0145PN_LEN TYPE(HALF) DISP(0)  /*Length of the following field*/
FLD: QW0145PN_VAR LEN(128) DISP(2)/*%U PROGRAM NAME*/
*
***...............QW0145IS CONSTANTS.................................**
*              VALUE     STATEMENT
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 0213 FOR RMID 20 RECORDS A LOCK SUSPEND FOR A DRAIN    *   
*     TYPE LOCK.  THIS TRACE IS CUT IN PLACE OF IFCID 44         *   
*     IFCID 0214 SIGNALS THE RESUMPTION OF AN AGENT FOLLOWING    *   
*     A LOCK SUSPEND FOR A DRAIN LOCK.                           *   
******************************************************************   
***********************************************************************
**** QW0213   DSECT                                                  
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0213, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00213')
***********************************************************************
COMP: QW0213_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>213 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0213   DISP(0) LEN(1) OFFSET(QW0213_OFFSET)
FLD: QW0213LH LEN(4) DISP(0)      /*LOCKED RESOURCE NAME HASH VALUE*/
FLD: QW0213LK LEN(32) DISP(4)     /*DB2 LOCK NAME COMPOSED OF:*/
FLD: QW0213KL LEN(1) TYPE(BIN) DISP(4)    /*()LENGTH OF THE LOCK NAME*/
FLD: QW0213KQ LEN(2) DISP(5)      /*()LOCK QUALIFIER*/
FLD: QW0213KT LEN(1) DISP(7)      /*()LOCKED RESOURCE TYPE*/
*QW0213CS EQU   X'14'                CURSOR STABILITY DRAIN           
*QW0213RR EQU   X'15'                REPEATABLE READ DRAIN            
*QW0213WR EQU   X'16'                WRITE DRAIN                      
FLD: QW0213RN LEN(28) DISP(8)     /*LOCKED RESOURCE NAME*/
FLD: QW0213DB LEN(2) DISP(8)      /*() DATABASE ID*/
FLD: QW0213PS LEN(2) DISP(10)     /*() PAGESET OBID*/
FLD: QW0213PT LEN(4) TYPE(BIN) DISP(12)  /*() PARTITION NUMBER OF THE*/
*                                OBJECT OF THE LOCK REQUEST.         
*                                ZERO IF THE OBJECT IS A NON-        
*                                PARTITIONED TABLE SPACE, A          
*                                NON-PARTITIONED INDEX SPACE         
*                                BEING ACCESSED AT THE PAGE          
*                                SET LEVEL RATHER THAN THE           
*                                LOGICAL PARTITION LEVEL, OR         
*                                A PARTITIONED TABLE SPACE       
*                                BEING ACCESSED AT THE TABLE     
*                                SPACE LEVEL RATHER THAN THE     
*                                PARTITION LEVEL.                
FLD: QW0213ST LEN(1) DISP(36)     /*LOCK STATE*/
*QW0213S0 EQU   X'00'     (S)                                     
*QW0213S1 EQU   X'01'         RESERVED                            
*QW0213S2 EQU   X'02'         INTENDED SHARE                      
*QW0213S3 EQU   X'03'         INTENDED EXCLUSIVE                  
*QW0213S4 EQU   X'04'         SHARED                              
*QW0213S5 EQU   X'05'         UPDATE                          
*QW0213S6 EQU   X'06'         SHARED INTENT EXCLUSIVE             
*QW0213S7 EQU   X'07'         RESERVED                            
*QW0213S8 EQU   X'08'         EXCLUSIVE                           
FLD: QW0213DR LEN(1) DISP(37)     /*LOCK DURATION*/
*QW021320 EQU   X'20'         MANUAL                              
*QW021321 EQU   X'21'         MANUAL+1                            
*QW021340 EQU   X'40'         COMMIT                              
*QW021341 EQU   X'41'         COMMIT+1                            
*QW021360 EQU   X'60'         ALLOCATION                          
*QW021380 EQU   X'80'         PLAN                                 
*QW0213FF EQU   X'FF'         DURATION TO FREE ALL LOCKS           
FLD: QW0213FL LEN(1) DISP(38)     /*(S)*/
*QW0213CD EQU   X'80'     (S)                                      
*QW0213AQ EQU   X'40'     (S)                                      
*QW0213US EQU   X'20'     (S)                                      
*QW0213SY EQU   X'10'     (S)                                      
FLD: QW0213WS LEN(2) DISP(39)     /*REASON FOR THE SUSPEND*/
*QW0213W1 EQU   C'LC'          IRLM LATCH CONTENTION               
*QW0213W2 EQU   C'LR'          LOCAL RESOURCE CONTENTION           
*QW0213W3 EQU   C'GR'     (S)                                      
*QW0213W4 EQU   C'IS'          Inter-system communication required 

******************************************************************    
*   IFCID 0214 FOR RMID 20 RECORDS A LOCK RESUME FOR A DRAIN     *    
*     TYPE LOCK.  THIS TRACE IS CUT IN PLACE OF IFCID 45         *    
*     IFCID 0213 SIGNALS THE SUSPENSION OF AN AGENT WAITING FOR  *    
*     A DRAIN LOCK.                                              *    
******************************************************************  
*  
***********************************************************************
**** QW0214   DSECT                                                   
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0214, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00214')
***********************************************************************
COMP: QW0214_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>214 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0214   DISP(0) LEN(1) OFFSET(QW0214_OFFSET)
FLD: QW0214R  LEN(1) DISP(0)      /*REASON FOR RESUME*/
*QW0214D  EQU   C'D'                D = DEADLOCK                       
*QW0214N  EQU   C'N'                N = NORMAL RESUME                  
*QW0214T  EQU   C'T'                T = TIMEOUT                        
FLD: QW0214SR LEN(1) DISP(1)
                          /*Reason for the suspend this is a bit mask*/
*                           since there may have been multiple reasons
*                           why the request was suspended (e.g. it    
*                           first hit IRLM latch contention, then it  
*                           hit IRLM local resource contention).      
*QW0214W1 EQU   X'80'        IRLM latch contention                     
*QW0214W2 EQU   X'40'        IRLM queued request                       
*QW0214W3 EQU   X'20'        Local resource contention                 
*QW0214W4 EQU   X'10'     (S)                                          
*QW0214W5 EQU   X'08'        Intersystem communication required to     
*                           resolve the IRLM request - if set, then   
*                           consult QW0214XR to determine the extent  
*                           of the global contention                  
*QW0214W6 EQU   X'04'     (S)                                          
*QW0214W7 EQU   X'02'       Inter-system message sending               
*QW0214W8 EQU   X'01'    (S)                                            
FLD: QW0214XR LEN(1) DISP(2)
                        /*Flags to determine the extent of the global*/
*                           contention - QW0214XR is applicable only   
*                           if QW0214W5 is set.  To determine the      
*                           extent of the global contention, you       
*                           should interrogate the flag bits as        
*                           follows:                                   
*                            If QW0214X4=ON then                       
*                               IRLM global resource contention        
*                            Else If QW0214X3=ON then                  
*                               XES global resource contention         
*                            Else                                      
*                               False contention                       
*QW0214X1 EQU   X'80'       (S)                                         
*QW0214X2 EQU   X'40'       (S)                                         
*QW0214X3 EQU   X'20'       ON = MVS XES resource contention            
*                          OFF = no MVS XES resource contention        
*QW0214X4 EQU   X'10'       ON = IRLM global resource contention        
*                          OFF = no IRLM global resource contention    
*QW0214X5 EQU   X'08'    (S)                                            
*QW0214X6 EQU   X'04'    (S)                                            
*QW0214X7 EQU   X'02'    (S)                                            
*QW0214X8 EQU   X'01'    (S)                                            

******************************************************************** 
**IFCID 0218 for RMID 14 records an indication of whether or       * 
**  not a successful lock avoidance technique occurred during      * 
**  a given unit of work.  The record is externalized for the      * 
**  agent at each commit or abort.                                 * 
******************************************************************** 
***********************************************************************
**** QW0218   DSECT     IFCID(QWHS0218) in DSNICMT2                  
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0218, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00218')
***********************************************************************
COMP: QW0218_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>218 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0218   DISP(0) LEN(1) OFFSET(QW0218_OFFSET)
                                  /*IFCID(QWHS0218) in DSNICMT2*/
FLD: QW0218CT LEN(1) DISP(0)  /*Was there a successful lock avoidance*/
*                         technique for this agent during a given    
*                         unit of work?                              
*                         See constants QW0218CY and QW0218CN.       
*QW0218CY EQU   C'Y'      Yes, there was a successful                 
*                          lock avoidance technique                  
*                          Applicable to QW0218CT and QW0218PC       
*QW0218CN EQU   C'N'      No, there wasn't a successful               
*                          lock avoidance technique                  
*                          Applicable to QW0218CT and QW0218PC       
FLD: QW0218N  TYPE(HALF) DISP(2)  /*Number of table space subrecords*/
*                         that follow                                
******************************************************************** 
** N table space subrecords, each showing whether or not a         * 
**  lock avoidance technique was successful for the table space    * 
**  during a given unit of work                                    * 
******************************************************************** 
FLD: QW0218P  LEN(5) DISP(4)      /*Table space subrecord*/
FLD: QW0218PD LEN(2) DISP(4)      /*Data base ID*/
FLD: QW0218PP LEN(2) DISP(6)      /*Table space ID (page set ID)*/
FLD: QW0218PC LEN(1) DISP(8)  /*Was there a successful lock avoidance*/
*                         technique for this table space during  
*                         this unit of work?                     
*                         See constants QW0218CY and QW0218CN.   

*******************************************************************
*   IFCID 0225 for storage manager pool summary statistics.       *
*   NOTE: IN DB V10, IFCID 0225 HAS MOVED TO THE SMF 100 RECORD.  *
*******************************************************************

*******************************************************************
*   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: SMF10210
*        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 TYPE(HALF) DISP(0)  /*DATABASE ID (DBID)*/
FLD: QW0226OB TYPE(HALF) 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: SMF10210
*        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).

********************************************************************
* IFCID 0337 records lock escalation occurrences.                  *
********************************************************************
*                                                                   
***********************************************************************
**** QW0337   DSECT     IFCID(QWHS0337)                             
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0337, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00337')
***********************************************************************
COMP: QW0337_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>337 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0337   DISP(0) LEN(1) OFFSET(QW0337_OFFSET)  /*IFCID(QWHS0337)*/
FLD: QW0337DB LEN(2) DISP(0)      /*DATA BASE ID*/
FLD: QW0337OB LEN(2) DISP(2)      /*PAGESET ID or Table OBID*/
FLD: QW0337LS LEN(1) DISP(4)      /*Lock state that was escalated to*/
*                         Not used if Selective Partition Locking   
FLD: QW0337LL LEN(1) DISP(5)      /*Type of lower level lock used*/
COMP: QW0337L1 = X'01'            /** PAGE LOCK **/
COMP: QW0337L2 = X'02'            /** ROW LOCK **/
COMP: QW0337L3 = X'03'            /** LOB lock **/
COMP: QW0337L4 = X'04'            /** XML lock **/
FLD: QW0337LH LEN(4) TYPE(BIN) DISP(8)
                              /*Number of lower level locks that were*/
*                         held that were released by escalation     
FLD: QW0337SN LEN(4) DISP(12)     /*Statement number*/
FLD: QW0337ST LEN(4) DISP(16)     /*RESERVED*/
FLD: QW0337CI LEN(130) DISP(20)   /*Collection ID field*/
FLD: QW0337CL LEN(2) TYPE(BIN) DISP(20) /*Length of the Collection ID*/
FLD: QW0337CN LEN(128) DISP(22)   /*Collection ID (%U)*/
FLD: QW0337PK LEN(130) DISP(150)  /*Package name field*/
FLD: QW0337PL LEN(2) TYPE(BIN) DISP(150) /*Length of the Package name*/
FLD: QW0337PN LEN(128) DISP(152)  /*Package name (%U)*/
FLD: QW0337SE LEN(10) DISP(280)   /*Waiters statement extension info*/
FLD: QW0337TY LEN(2) DISP(280)    /*Waiters statement information*/
FLD: QW0337SI LEN(8) DISP(282)    /*Waiters statement Identifier*/
*                                                                    
* Statement ID constants                                             
COMP: QW0337DY = X'8000'          /** Waiters statement is dynamic **/
COMP: QW0337SC = X'4000'          /** Waiters statement is static **/
COMP: QW0337NI = X'0000'          /** No stmt id, no type **/
COMP: QW0337S2 = X'02'            /** INTENTED SHARE **/
COMP: QW0337S3 = X'03'            /** INTENTED EXCLUSIVE **/
COMP: QW0337S4 = X'04'            /** SHARED **/
COMP: QW0337S5 = X'05'            /** UPDATE **/
COMP: QW0337S6 = X'06'            /** SHARED INTENT EXCLUSIVE **/
COMP: QW0337S8 = X'08'            /** EXCLUSIVE **/

************************************************************  
**  IFCID 0366 is a serviceability trace.  It can be used      
**  to identify applications that are affected by incompatible
**  changes in Version 10.  The QW0366FN field indicates the  
**  type of incompatible change.                              
**                                                            
**  QW0366FN = 1                                              
**   A QW0366FN 1 record indicates that the pre Version 10 CHAR
**  built-in function has been invoked.  There is an          
**  incompatible change to the output of the CHAR function    
**  for some decimal data.  The zparm BIF_COMPATIBILITY        
**  and/or the SYSCOMPAT_V9 schema have been used by this      
**  application to get the old behavior.  Please make the      
**  appropriate changes and rebind with the SYSCURRENT        
**  schema to use the Version 10 CHAR(decimal) built-in        
**  function.                                                  
**                                                            
**  QW0366FN = 2                                              
**   A QW0366FN 2 record indicates that the pre Version 10    
**  VARCHAR built-in function has been invoked.  There is an  
**  incompatible change to the output of the VARCHAR function  
**  for some decimal data.  The zparm BIF_COMPATIBILITY        
**  and/or the SYSCOMPAT_V9 schema have been used by this      
**  application to get the old behavior.                      
**  The trace record is also written for the CAST              
**  specification with CHAR/VARCHAR result and decimal        
**  input if the BIF_COMPATIBILITY zparm is used to get        
**  the old behavior.                                          
**  Please make the appropriate changes and rebind with the    
**  SYSCURRENT schema to use the Version 10 CHAR(decimal)      
**  or VARCHAR(decimal) built-in function.                    
**                                                            
**  QW0366FN = 3                                              
**   A QW0366FN 3 record indicates that an unsupported        
**   character representation of a timestamp string was used.  
**                                                            
************************************************************  
***********************************************************************
**** QW0366       DSECT                                       
***********************************************************************

COMP: QW0366_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>366 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0366   DISP(0) LEN(1) OFFSET(QW0366_OFFSET)
FLD: QW0366FN LEN(4) TYPE(BIN) DISP(0) /*The value '1' indicates that*/
*                            the DB2 for z/OS Version 9        
*                            SYSIBM.CHAR(decimal-expr)        
*                            function has been executed.      
*                                                              
*                            The value '2' indicates that      
*                            the DB2 for z/OS Version 9        
*                            SYSIBM.VARCHAR(decimal-expr)      
*                            function has been executed or    
*                            V9 CAST(decimal AS CHAR) or      
*                            V9 CAST(decimal AS VARCHAR)      
*                                                              
*                            The value '3' indicates          
*                            unsupported character string      
*                            representation of a timestamp    
*                                                              
FLD: QW0366SN LEN(4) TYPE(BIN) DISP(4)
                                  /*Statement number of the query*/
FLD: QW0366PL LEN(8) DISP(8)      /*Plan name for this query*/
FLD: QW0366TS LEN(8) DISP(16)     /*Timestamp for this query*/
FLD: QW0366SI LEN(8) DISP(24)     /*Statement Identifier*/
FLD: QW0366TY LEN(2) DISP(32)     /*Statement information*/
COMP: QW0366DY = X'8000'          /*Statement is dynamic*/
COMP: QW0366SC = X'4000'          /*Statement is static*/
FLD: QW0366SE TYPE(HALF) DISP(34) /*Section number*/
FLD: QW0366PC_OFF TYPE(HALF) DISP(36) /*Offset from QW0366 to Package*/
*                            Collection ID                  
FLD: QW0366PN_OFF TYPE(HALF) DISP(38)         /*Offset from QW0366 to*/
*                            Program name                  
FLD: QW0366VL TYPE(HALF) DISP(40) /*Version length*/
FLD: QW0366VN LEN(64) DISP(42)    /*Version*/
*                                                          
***********************************************************************
**** QW0366PC_D   DSECT                                     
***********************************************************************

COMP: QW0366PC_D_OFFSET =
  WHEN(QW0366_OFFSET <> 99999 AND QW0366PC_OFF <> 0)
                    ASSIGN(QW0366_OFFSET + QW0366PC_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0366PC_D DISP(0) LEN(1) OFFSET(QW0366PC_D_OFFSET)
FLD: QW0366PC_LEN TYPE(HALF) DISP(0)
                                  /*Length of Package Collection ID*/
FLD: QW0366PC_VAR LEN(128) DISP(2)/*%U Package Collection ID*/
COMPUTE: QW0366PC = #LEFT(QW0366PC_Var, QW0366PC_Len)
*                                                          
***********************************************************************
**** QW0366PN_D   DSECT                                     
***********************************************************************

COMP: QW0366PN_D_OFFSET =
  WHEN(QW0366_OFFSET <> 99999 AND QW0366PN_OFF <> 0)
                    ASSIGN(QW0366_OFFSET + QW0366PN_OFF)
  ELSE              ASSIGN(99999)
FLD: QW0366PN_D DISP(0) LEN(1) OFFSET(QW0366PN_D_OFFSET)
FLD: QW0366PN_LEN TYPE(HALF) DISP(0)         /*Length of Program Name*/
FLD: QW0366PN_VAR LEN(128) DISP(2)/*%U Program Name*/
COMPUTE: QW0366PN = #LEFT(QW0366PN_Var, QW0366PN_Len)

***********************************************************************
*   IFCID 0370 to record data set open information                    *
*********************************************************************** 
***********************************************************************
**** QW0370      DSECT           IFCID(QWHS0370)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0370, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00370')
***********************************************************************
COMP: QW0370_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>370 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0370   DISP(0) LEN(1) OFFSET(QW0370_OFFSET)  /*IFCID(QWHS0370)*/
FLD: QW0370AC LEN(4) TYPE(BIN) DISP(0)               /*ADDRESS OF ACE*/
FLD: QW0370DB LEN(2) DISP(4)      /*DATABASE ID (DBID)*/
FLD: QW0370OB LEN(2) DISP(6)      /*PAGESET OBID*/
FLD: QW0370PN LEN(4) DISP(8)      /*PART NUMBER*/
FLD: QW0370IN LEN(4) DISP(12)     /*INSTANCE NUMBER*/
FLD: QW0370AL TYPE(STCKTIME) DISP(16)               /*ALLOCATION TIME*/
FLD: QW0370OP TYPE(STCKTIME) DISP(24)                     /*OPEN TIME*/
FLD: QW0370DM LEN(4) DISP(32)     /*DSMAX*/
FLD: QW0370DO LEN(4) TYPE(BIN) DISP(36)  /*NUMBER OF OPENED DATA SETS*/
FLD: QW0370FG LEN(1) DISP(40)     /*FLAGS*/
COMP: QW0370SD = X'01'            /*SHADOW INDICATION*/
COMP: QW0370RA = X'02'            /*REALLOCATION*/
FLD: QW0370DN LEN(44) DISP(41)    /*DATA SET NAME*/
                                                                      
***********************************************************************
*   IFCID 0371 to record data set close information                   *
*********************************************************************** 
***********************************************************************
**** QW0371      DSECT           IFCID(QWHS0371)                       
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0371, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00371')
***********************************************************************
COMP: QW0371_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>371 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0371   DISP(0) LEN(1) OFFSET(QW0371_OFFSET)  /*IFCID(QWHS0371)*/
FLD: QW0371AC LEN(4) TYPE(BIN) DISP(0)               /*ADDRESS OF ACE*/
FLD: QW0371DB LEN(2) DISP(4)      /*DATABASE ID (DBID)*/
FLD: QW0371OB LEN(2) DISP(6)      /*PAGESET OBID*/
FLD: QW0371PN LEN(4) DISP(8)      /*PART NUMBER*/
FLD: QW0371IN LEN(4) DISP(12)     /*INSTANCE NUMBER*/
FLD: QW0371DA TYPE(STCKTIME) DISP(16)             /*DEALLOCATION TIME*/
FLD: QW0371CL TYPE(STCKTIME) DISP(24)                    /*CLOSE TIME*/
FLD: QW0371DM LEN(4) DISP(32)     /*DSMAX*/
FLD: QW0371DO LEN(4) TYPE(BIN) DISP(36)  /*NUMBER OF OPENED DATA SETS*/
FLD: QW0371FG LEN(1) DISP(40)     /*FLAGS*/
FLD: QW0371DN LEN(44) DISP(41)    /*DATA SET NAME*/

******************************************************     
* IFCID 402 trace record is cut at most once every   *     
* statistics interval that is defined in the STATIME *     
* subsystem parameter setting. This avoids flooding  *     
* the trace. IFCID 402 tracks any profile warning or *     
* exception condition of any particular profile that *     
* occurred in the stat interval. The stat trace      *     
* record provides counters that track the number of  *     
* times a given profile threshold was exceeded in    *     
* a particular Profile ID. Each trace record can     *     
* contain information up to 500 unique profiles.     *     
* Multiple trace records may be written if there are *     
* more than 500 unique profiles whose profile        *     
* thresholds are exceeded during a given interval.   *     
******************************************************     
***********************************************************************
**** QW0402 DSECT                                          
***********************************************************************

***********************************************************************
* TO REPORT ON ALL OCCURRENCES OF QW0402, USE:
* INPUT: SMF10210
*        IOEXIT('GENNORM','A 102 --- 036 2I N | 028 004 2 00402')
***********************************************************************
COMP: QW0402_OFFSET =
  WHEN(SM102RTY<>102 OR QWHSIID<>402 OR QWT02R1N = 0) ASSIGN(99999)
  ELSE                                              ASSIGN(QWT02R1O)
FLD: QW0402   DISP(0) LEN(1) OFFSET(QW0402_OFFSET)
FLD: QW0402PI LEN(4) DISP(0)      /*Profile ID*/
FLD: QW0402TE LEN(4) TYPE(BIN) DISP(4)
                                  /*Accumulated counter of thread*/
*                      exception threshold being           
*                      exceeded.                           
FLD: QW0402TQ LEN(4) TYPE(BIN) DISP(8)   /*Accumulated counter of the*/
*                      thread being queued or suspended    
*                      when thread exception threshold     
*                      was exceeded.                       
FLD: QW0402TF LEN(4) TYPE(BIN) DISP(12)  /*Accumulated counter of the*/
*                      request being failed when           
*                      thread exception threshold was      
*                      exceeded.                                   
FLD: QW0402TW LEN(4) TYPE(BIN) DISP(16)
                                  /*Accumulated counter of thread*/
*                      warning threshold being                     
*                      exceeded.                                   
FLD: QW0402CE LEN(4) TYPE(BIN) DISP(20)
                                  /*Accumulated counter of connection*/
*                      exception threshold being                   
*                      exceeded.                                   
FLD: QW0402CW LEN(4) TYPE(BIN) DISP(24)
                                  /*Accumulated counter of connection*/
*                      warning threshold being                     
*                      exceeded.                                   
FLD: QW0402OE LEN(4) TYPE(BIN) DISP(28) /*Accumulated counter of idle*/
*                      thread exception threshold                  
*                      being exceeded.                             
FLD: QW0402OW LEN(4) TYPE(BIN) DISP(32) /*Accumulated counter of idle*/
*                      thread warning threshold                    
*                      being exceeded.                             
FLD: QW0402END TYPE(HALF) DISP(36)
*                                                                       
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)
        NORMWHEN(SM102RTY=102 AND QWHSIID = 144 AND QWT02R1N > 0)
        NORMALIZE(QW0144_SECTION, QWT02R1N)
*
*   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 2017.
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